#include <stdio.h>
#include <stdlib.h>
typedef struct Node node;
struct Node
{ int data; node * next;
} ;
int quchu ( node * p)
{ if ( p-> next == NULL ) return - 1 ; else { int x = p-> next-> data; return x; }
}
node * QC ( node * p)
{ node * L = p-> next; p-> next = L-> next; free ( L) ; L = NULL ; return p;
}
node * insert ( int data, node * p)
{ node * L = ( node * ) malloc ( sizeof ( node) ) ; L-> data = data; L-> next = p-> next; p-> next = L; return p;
}
int main ( )
{ int n, num; node * head = ( node * ) malloc ( sizeof ( node) ) ; head -> next = NULL ; scanf ( "%d" , & n) ; for ( int i = 0 ; i < n; i++ ) { scanf ( "%d" , & num) ; head = insert ( num, head) ; } for ( int i = 1 ; i <= n; i++ ) { int x = quchu ( head) ; if ( x != - 1 ) head = QC ( head) ; printf ( "%d\n" , x) ; } return 0 ;
}