#include <stdio.h>
typedef struct ListNode* Ptrnode;
struct ListNode{
int data;
Ptrnode NEXT;
};
Ptrnode BuildList(int n, int a[]);
void ShowList(Ptrnode P, int n);
int main(void)
{
int n, i;
Ptrnode P;
scanf("%d\n",&n);
int a[n];
for(i = 0; i < n; i++)
{
scanf("%d",&a[i]);
}
P = BuildList(n, a);
ShowList(P, n);
return 0;
}
Ptrnode BuildList(int n, int a[])
{
Ptrnode Pp = (Ptrnode) malloc(sizeof(struct ListNode));
Pp->data = 0;
Pp->NEXT = NULL;
Ptrnode tmp = Pp;
for(int i = 0; i < n; i++)
{
Ptrnode Pm = (Ptrnode) malloc(sizeof(struct ListNode));
Pm ->data = a[i];
Pm ->NEXT = NULL;
Pp ->NEXT = Pm;
Pp = Pm;
}
return tmp->NEXT;
}
void ShowList(Ptrnode P, int n)
{
for(int i = 0; i < n; i++)
{
printf("%d ",P->data);
P = P->NEXT;
}
}