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