#include<stdio.h>
#include<stdlib.h>
struct Node{
    int data;
    struct Node *next;;
};
struct Node* insert(struct Node *last,int value){
    struct Node *newnode=(struct Node*)malloc(sizeof(struct Node));
    newnode->data=value;
    if(last==NULL){
        newnode->next=newnode;
        return newnode;
    }
    newnode->next=last->next;
    last->next=newnode;
    return last;
}
void printlist(struct Node *last){
    if(last==NUll)
       return ;
    struct node *temp=last->next;
    do{
        printf("%d",temp->data);
        temp=temp->next;
        
    }
    while(temp!=last->next);
    
}
int main(){
    int n,valuetoinsert;
    scanf("%d",&n);
    if(n<=0){
        printf("invalid input");
        return 0;
    }
    struct Node *last=NULL,*newnode,*temp;
    int val;
    for(int i=0;i<n;i++){
        scanf("%d",&val);
        newnode=(struct Node*)malloc(sizeof(struct Node));
        newnode->data=val;
        if(last==NULL){
            last=newnode;
            last->next=last;
        }
        else{
            newnode->next=last->next;
            last->next=newnode;
            last=newnode;
        }
    }
    scanf("%d",&valuetoinsert);
    last=insert(last,valuetoinsert);
    printlist(last);
    return 0;
}