// editor2
#include <stdio.h>
#include <stdlib.h>

typedef struct Node {
 int data;
 struct Node* left;
 struct Node* right;
 }Node;
 
 Node* createNode(int data)
 {
 Node* newNode = (Node*)malloc(sizeof(Node));
 if(!newNode)
 {
 printf("Invalid input\n");
 return NULL;
 }
 newNode -> data = data;
 newNode -> left = newNode -> right = NULL;
 return newNode;
 }
 Node* insertNode(Node* root,int data)
 {
     if(root == NULL)
     {
         return createNode(data);
         
     }
     if(data < root ->data)
     {
         root->left = insertNode(root->left,data);
     }
     else if (data>root->data)
     {
         root->right= insertNode(root->right,data);
     }
     return root;
 }
 void inorderTraversal(Node* root)
 {
     if(root)
     {
         inorderTraversal(root->left);
         printf("%d\n",root->data);
         if(root)
         {
             inorderTraversal(root->left);
         printf("%d\n",root->data);
         inorderTraversal(root->right);
         }
     }
int main()
{
    int n;
    if(scanf("%d",&n) !=1 || n<0 || n>10)
    {
        printf("Invalid input\n");
        return 0;
        
    }
    Node* root = NULL;
    int key;
    for(int i=0 ; i<n ;i++)
    {
        if(scnf("%d",&key)!=1 || key<-100 || key > 100)
        {
            printf("Invalid input\n");
            return 0 ;
        }
        root = insertNode(root,key);
    }
    if(root == NULL)
    {
        printf("Tree is Empty\n");
    }
    else
    {
        inorderTraversal(root);
    }
    return 0;
    }
    }