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