#include <iostream>
using namespace std;

struct Node {
    int data;
    Node* next;
};

void insert(Node* &head, int val) {
    Node* newNode = new Node();
    newNode->data = val;
    newNode->next = NULL;

    if(head == NULL) {
        head = newNode;
        return;
    }

    Node* temp = head;
    while(temp->next != NULL) {
        temp = temp->next;
    }
    temp->next = newNode;
}


void printReverse(Node* head) {
    if(head == NULL) return; 
    printReverse(head->next); 
    cout << head->data << " "; 
}

int main() {
    Node* head = NULL;

    int n,val;
    for(int i=0;i<n;i++)
    {
        cin>>val;
        insert(head,val)
    }

    cout << "Reverse order: ";
    printReverse(head);

    return 0;
}