#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
struct node {
    int data;
    struct node *next;
};

int main() {
    int n, i;
    struct node *start = NULL;
    struct node *temp = NULL;
    struct node *current = NULL;

    scanf("%d", &n);

    start = (struct node *)malloc(sizeof(struct node));
    scanf("%d", &start->data);
    start->next = NULL;
    current = start;

    for (i = 2; i <= n; i++) {
        temp = (struct node *)malloc(sizeof(struct node));
        scanf("%d", &temp->data);
        temp->next = NULL;
        current->next = temp;
        current = temp;
    }
    current=start;
    while(current!=NULL)
    {
        for(i=0;current->data[i]!='\0';i++)
        {
            if(!isalpha(current->data[i]))
            {
                printf("Invalid input");
                return 0;
            }
        }
    }
    int arr[n];
    current = start;
    i = 0;
    while (current != NULL) {
        arr[i++] = current->data;
        current = current->next;
    }
    for (i = n - 1; i >= 0; i--) {
        printf("%d ", arr[i]);
    }

    return 0;
}