#include <stdio.h>
#include <stdlib.h>
typedef struct node{
int data;
struct node* next;
} Node;
int main() {
int n = 0;
int i = 0;
scanf("%d", &n);
int arr[n];
for (i = 0; i < n; i++){
scanf("%d", &arr[i]);
}
//前两个
Node head;
Node *p;
p = &head;
for(i = 0; i < n; i++){
if(i == 0){
head.data = arr[i];
head.next = NULL;
}
else{
Node *New = (Node*)malloc(sizeof(Node));
New->data = arr[i];
New->next = NULL;
p->next = New;
p = p->next;
}
}
//交换连接关系
Node *top = head.next;
p = head.next;
head.next = p->next;
p->next = &head;
//后两个
Node *last;
Node *d;
while (p->next->next->next != NULL) {
p = p->next;
}
last = p->next->next;
d = p->next;
p->next = last;
p = d;
last->next = p;
p->next = NULL;
while (top != NULL) {
printf("%d ", top->data);
top = top->next;
}
return 0;
}