#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
typedef struct node{
    int * data;
    struct node*next;
}node;
node*createnode(int * data){
    node*newnode=(node*)malloc(sizeof(node));
    if(!newnode){
        printf("memory allocation is failed");
        exit(1);
    }
    newnode->data=data;
    newnode->next=NULL;
    return 0;
}
void printlist(node*k){
    while(k){
        printf("%d ",k->data);
    }
    k=k->next;
    printf("null\n");
}
int main()
{
    int v;
    scanf("%d",&v);
    int arr[10];
    for(int i=0;i<=v;i++){
        scanf("%d",&arr[i]);
    }
    int g1,g2,g3,g4,g5;
    scanf("%d",&g1);
    scanf("%d",&g2);
    scanf("%d",&g3);
    scanf("%d",&g4);
    if(!isdigit(g1)||!isdigit(g2)||!isdigit(g3)||!isdigit(g4)){
        printf("Invalid input");
    }
    else{
        for(int i=v-1;i>=0;i--){
            printf("%d ",&arr[i]);
            }
        }
    }
    node*k1=createnode(g1);
    node*k2=createnoe(g2);
    node*k3=createnode(g3);
    node*k4=createnode(g4);
    k1->next=k2;
    k2->next=k3;
    k3->next=k4;
    printlist(k1);
    free(k1);
    free(k2);
    free(k3);
    free(k4);
    return 0;
}