#include <bits/stdc++.h>
using namespace std;
struct Node{
int data;
Node *next, *prev;
Node(int val)
{
data = val;
next = NULL;
prev = NULL;
}
};
Node *head = NULL, *tail= NULL;
void print()
{
Node *temp = head;
while(temp!=NULL)
{
cout<<temp->data<<"->";
temp=temp->next;
}
cout<<"null"<<"\n";
}
void display_reverse(){
Node *temp = tail;
while(temp!=NULL)
{
cout<<temp->data<<"->";
temp = temp->prev;
}
cout<<"null"<<"\n";
}
void insert(int val)
{
if(head == NULL)
{
head = new Node(val);
tail = head;
return;
}
Node *temp = new Node(val);
tail->next = temp;
temp -> prev = tail;
tail = temp;
}
int main() {
int n;
cin>>n;
while(n--)
{
int j;
cin>>j;
insert(j);
}
print();
display_reverse();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdHJ1Y3QgTm9kZXsKCWludCBkYXRhOwoJTm9kZSAqbmV4dCwgKnByZXY7CglOb2RlKGludCB2YWwpCgl7CgkJZGF0YSA9IHZhbDsKCQluZXh0ID0gTlVMTDsKCQlwcmV2ID0gTlVMTDsKCX0KfTsKTm9kZSAqaGVhZCA9IE5VTEwsICp0YWlsPSBOVUxMOwp2b2lkIHByaW50KCkKewoJTm9kZSAqdGVtcCA9IGhlYWQ7Cgl3aGlsZSh0ZW1wIT1OVUxMKQoJewoJCWNvdXQ8PHRlbXAtPmRhdGE8PCItPiI7CgkJdGVtcD10ZW1wLT5uZXh0OwoJfQoJY291dDw8Im51bGwiPDwiXG4iOwp9CnZvaWQgZGlzcGxheV9yZXZlcnNlKCl7CglOb2RlICp0ZW1wID0gdGFpbDsKCXdoaWxlKHRlbXAhPU5VTEwpCgl7CgkJY291dDw8dGVtcC0+ZGF0YTw8Ii0+IjsKCQl0ZW1wID0gdGVtcC0+cHJldjsKCX0KCWNvdXQ8PCJudWxsIjw8IlxuIjsKfQoKdm9pZCBpbnNlcnQoaW50IHZhbCkKewoJaWYoaGVhZCA9PSBOVUxMKQoJewoJCWhlYWQgPSBuZXcgTm9kZSh2YWwpOwoJCXRhaWwgPSBoZWFkOwoJCXJldHVybjsKCX0KCU5vZGUgKnRlbXAgPSBuZXcgTm9kZSh2YWwpOwoJdGFpbC0+bmV4dCA9IHRlbXA7Cgl0ZW1wIC0+IHByZXYgPSB0YWlsOwoJdGFpbCA9IHRlbXA7Cn0KCgppbnQgbWFpbigpIHsKCWludCBuOwoJY2luPj5uOwoJd2hpbGUobi0tKQoJewoJCWludCBqOwoJCWNpbj4+ajsKCQlpbnNlcnQoaik7Cgl9CglwcmludCgpOwoJZGlzcGxheV9yZXZlcnNlKCk7CglyZXR1cm4gMDsKfQ==