// #include<stdio.h>
// int sum(int n){
//     int sum=0,d;
//     while(n>0){
//         d=n%10;
//         sum+=d*d; 
//         n/=10;    
//     }
//     return sum;
// }
// int main(){
//     int n;
//     scanf("%d",&n);
//     while(n!=1 && n!=4){
//         n=sum(n);
//     }
//     if (n==1){
//         printf("Happy Number");
//     }    
//     else{
//         printf("Unhappy Number");
//     }
//     return 0;
// }


#include<stdio.h>
#include<stdlib.h>
typedef struct Node{
    int data;
    struct Node *next;
}node;

node *head=NULL,*tail;

void create(int num){
    node *newnode=(node*)malloc(1*sizeof(node));
    newnode->data=num;
    newnode->next=NULL;
    if(head==NULL){
        head=newnode;
        tail=newnode;
    }
    else{
        tail->next=newnode;
        tail=newnode;
    }
}

void reverse(){
    node *prev=NULL;
    node *cur=head;
    node *next=NULL;
    while(cur!=NULL){
        next=cur->next;
        cur->next=prev;
        prev=cur;
        cur=next;
    }
    head=prev;
}

void display(){
    node *itr;
    for(itr=head;itr!=NULL;itr=itr->next){
        printf("%d ",itr->data);
    }
}
int main(){
    int size,num;
    scanf("%d",&size);
    for(int i=1;i<=size;i++){
        scanf("%d",&num);
        create(num);
    }
    int val,pos;
    scanf("%d",&val);
    scanf("%d",&pos);
    if(pos<0){
        printf("Invalid input");
        return 0;
    }
    display();
    reverse()
    display();
    return 0;
}