#include<stdio.h>
#include<stdlib.h>
typedef struct Node{
    int key;
    struct Node *left,*right;
}Node;

Node* newNode(int key)
{
    Node* node = (Node*)malloc(sizeof(Node));
    node->key = key;
    node->left = node->right = NULL;
    return node;
}

Node*insert(Node* root,int key)
{
    if(!root)return newNode(key);
    if(key<root->key)root->left = insert(root->left,key);
      else root->right = insert(root->right,key);
    return root;
}

void postorder(Node* root)
{
    if(!root)return;
    postorder(root->left);
    postorder(root->right);
    printf("%d",root->key);
}
int main(){
    int N;
    if(scanf("%d",&N)!=1||N>35){
        printf("invalid input");
        return 0;
    }
    
    Node* root = NULL;
    for(int i=0;i<N;i++){
        int val;
        if(scanf("%d",&val)!=1||val>300){
            printf("invalid input");
            return 0;
        }
        root=inserted(root,val);
    }
    
    postorder(root);
    return 0;
}
    }
}