#include <stdio.h>
#include<stdlib.h>
typedef struct SList {
int date;
struct SList* next;
} SList;
SList* CreatNode(int x) {
SList* newNode = (SList*)malloc(sizeof(SList));
newNode->date = x;
newNode->next = NULL;
return newNode;
}
void TailPushBack(SList** phead, int* pa, int n) {
int i = 0;
while (i < n) {
SList* newNode = CreatNode(pa[i++]);
if (*phead == NULL) {
*phead = newNode;
} else {
SList* pcur = *phead;
while (pcur->next) {
pcur = pcur->next;
}
pcur->next = newNode;
}
}
}
void SwapNode(SList** phead) {
SList* pcur = *phead;
SList* pc = pcur->next;
int num=0;
num=pcur->date;
pcur->date=pc->date;
pc->date=num;
while (pcur->next) {
pc = pcur;
pcur = pcur->next;
}
num = pc->date;
pc->date = pcur->date;
pcur->date = num;
}
void PrintSList(SList* phead){
SList* pcur=phead;
while(pcur){
printf("%d ",pcur->date);
pcur=pcur->next;
}
}
int main() {
int n = 0;
scanf("%d", &n);
int* pa = (int*)malloc(n * sizeof(int));
for (int i = 0; i < n; i++) {
scanf("%d", pa + i);
}
SList* head = NULL;
TailPushBack(&head, pa, n);
SwapNode(&head);
PrintSList(head);
return 0;
}