#include <bits/stdc++.h>
using namespace std;
struct Node{
int val;
Node* next;
Node(int val):val(val),next(nullptr){};
};
Node* reverse(Node* head){
if(head == nullptr){
return nullptr;
};
Node* temp = head;
Node* prev = NULL;
while(temp!=nullptr){
Node* front = temp->next;
temp->next = prev;
prev = temp;
temp = front;
}
return prev;
}
Node* LL(vector<int>&a){
Node* head = new Node(a[0]);
Node* curr = head;
for(int i = 1 ; i < a.size();i++){
curr->next = new Node(a[i]);
curr = curr->next;
}
return head;
}
void print(Node* head){
Node* temp = head;
while(temp != nullptr){
cout<<temp->val<<endl;
temp = temp->next;
}
}
int main() {
int n ; cin>>n;
vector<int>a(n);
for(int i = 0;i<n ;i++){
cin>>a[i];
}
Node* head = LL(a);
Node* ans = reverse(head);
print(ans);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdHJ1Y3QgTm9kZXsKCWludCB2YWw7CglOb2RlKiBuZXh0OwoJCglOb2RlKGludCB2YWwpOnZhbCh2YWwpLG5leHQobnVsbHB0cil7fTsKfTsKCk5vZGUqIHJldmVyc2UoTm9kZSogaGVhZCl7CglpZihoZWFkID09IG51bGxwdHIpewoJICAgcmV0dXJuIG51bGxwdHI7Cgl9OwogICAKICAgTm9kZSogdGVtcCA9IGhlYWQ7CiAgIE5vZGUqIHByZXYgPSBOVUxMOwogICAKICAgd2hpbGUodGVtcCE9bnVsbHB0cil7CiAgIAlOb2RlKiBmcm9udCA9IHRlbXAtPm5leHQ7CiAgIAl0ZW1wLT5uZXh0ID0gcHJldjsKICAgCXByZXYgPSB0ZW1wOwogICAJdGVtcCA9IGZyb250OwogICB9CiAgIHJldHVybiBwcmV2Owp9Ck5vZGUqIExMKHZlY3RvcjxpbnQ+JmEpewoJTm9kZSogaGVhZCA9ICBuZXcgTm9kZShhWzBdKTsKCU5vZGUqIGN1cnIgPSBoZWFkOwoJCglmb3IoaW50IGkgPSAxIDsgaSA8IGEuc2l6ZSgpO2krKyl7CgkJY3Vyci0+bmV4dCA9IG5ldyBOb2RlKGFbaV0pOwoJCWN1cnIgPSBjdXJyLT5uZXh0OwoJfQoJcmV0dXJuIGhlYWQ7Cn0KCnZvaWQgcHJpbnQoTm9kZSogaGVhZCl7CglOb2RlKiB0ZW1wID0gaGVhZDsKCQoJd2hpbGUodGVtcCAhPSBudWxscHRyKXsKCQljb3V0PDx0ZW1wLT52YWw8PGVuZGw7CgkJdGVtcCA9IHRlbXAtPm5leHQ7Cgl9Cn0KaW50IG1haW4oKSB7CglpbnQgbiA7IGNpbj4+bjsKCXZlY3RvcjxpbnQ+YShuKTsKCQoJZm9yKGludCBpID0gMDtpPG4gO2krKyl7CgkJY2luPj5hW2ldOwoJfQoJCglOb2RlKiBoZWFkID0gTEwoYSk7CglOb2RlKiBhbnMgPSByZXZlcnNlKGhlYWQpOwoJCglwcmludChhbnMpOwoJcmV0dXJuIDA7Cn0=