#include<iostream>
using namespace std;
typedef struct ListNode {
int val;
struct ListNode* next;
}ListNode,*List;
void createList(List L, int n) {
ListNode* r = L;
for (int i = 0; i < n; i++) {
ListNode* p=new ListNode;
cin >> p->val;
p->next = NULL;
r->next = p;
r = r->next;
}
}
void printList(List L) {
ListNode* p = L;
while (p) {
cout << p->val<<" ";
p = p->next;
}
}
List reverseList(List L) {
ListNode* pre = nullptr;
ListNode* cur = L;
ListNode* temp = nullptr;
while(cur){
temp = cur->next;
cur->next = pre;
pre = cur;
cur=temp;
}
return pre;
}
int main() {
List L=new ListNode;
L->next = NULL;
int n;
cin >> n;//链表个数
createList(L,n);
printList(reverseList(L->next));
system("pause");
return 0;
}