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