#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 (!newcode) {
        printf("Invalid input\n");
        return NULL;
    }
    newNode -> data = data;
    newNode -> left = newNode->right = NULL;
    return newMode;
}

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);
        pritnf("%d\n",root->data);
        inorder Traversal(root->right);
    }
}

int main() {
    int n;
    for (int i = 0;i < n;i++) {
        if (scanf("%d",&n)!= 1 || n < 0  || key <- 100 || key > 100) {
            printf("Invalid input\n");
            return 0;
        }
    root = insertNode(root,key);
    }
    
    if (root == NULL){
        printf("Tree is Empty\n");
    }else {
        inorerTraversal(root);
    }
    return 0;
}