#include<stdio.h>
#include<stdlib.h>
struct Node {
    int data;
    struct Node* next;
};

struct Node* createNode(int data){
    struct Node* newNode = (struct Node*) malloc (sizeof(struct Node));
    newNode->data = data;
    newNode->next = NULL;
    return newNode;
}

int main() {
    int n;
    scanf("%d", &n);
    
    if (n <= 0) {
        printf("Invalid input\n");
        return 0;
    }
    
    struct Node* head = NULL;
    struct Node* tail = NULL;
    
    for (int i = 0; i < n ; i++){
        int val;
        struct Node* newNode = createNode(val);
        if (head == NULL){
            head = newNode;
            tail = newNode;
        }
        else{
            tail->next = newNode;
            tail = newNode;
        }
    }
    
    tail -> next = head;
    
    int toInsert;
    scanf("%d", &toInsert);
    struct Node* newNode = createNode(toInsert);
    
    newNode->next = head;
    head = newNode;
    tail->neaxt = head;
    
    struct Node* temp = head;
    do{
        printf("%d", temp-> data);
        temp = temp->next;
        if (temp != head) printf(" ");
    }while (temp != head);
    printf("\n");
    
    return 0;
    
        
    }
}