#include<stdio.h>
#include<stdlib.h>
typedef struct node{
    int data;
    struct node *left,*right;
}Node;
 Node *root=NULL;
  Node *create(int num){
      Node *newnode=(Node*)malloc(sizeof(Node));
      newnode->data=num;
      newnode->left=NULL;
      newnode->right=NULL;
      return newnode;
  }
 Node *insert(Node*root,int num){
    if(root==NULL)
            return create (num);
    if(num<root->data)
            root->left=insert(root->left,num);
    if(num>root->data)
            root->right=insert(root->right,num);
        
      return root;
 } 
 void postOrder(Node *root){
     if(root!=NULL)
     postOrder(root->left);
     postOrder(root->right);
     printf("%d",root->data);
 }
 int main(){
     int i,size,num;
     scanf("%d",&size);
     if(size<0){
         printf("Invalid input");
         return 0;
     }
     for(i=0;i<size;i++){
         scanf("%d",&num);
         create(Node *root,num);
     }
     postOrder(root);
     return 0;
 }