#include <stdio.h>
#include<stdlib.h>

typedef struct tree
{
    int data;
    struct tree *left,*right;
}Node;

Node *create(int n)
{
    Node *newnode=(Node*)malloc(sizeof(Node));
    newnode->data=n;
    newnode->left=newnode->right=NULL;
    return newnode;
}

Node *insert(int n,Node *root)
{
    if(root==NULL)
        return create(n);
    if(n<root->left)
        root->left=insert(n,root->left)
    else
        root->right=insert(n,root->right);
    return root;
}

int main() {
    node *root=NULL;
    int n;
    scanf("%d",&n);
    if(n<0)
    {
        printf("Invalid input");
        return 0;
    }
    for(int i=0;i<n;i++)
    {
        int data;
        scanf("%d",&data);
        root=insert(data,root);
    }
    return 0;
}