#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

struct treeNode {
    int data;
    struct treeNode *left, *right;
};

struct treeNode* creatNode(int data) {
    struct treeNode* newNode =(struct treenode*)malloc(sizeof(struct treeNode));
    newNode->data = data;
    newNode->left = newNode->right = NULL;
    return newNode;
}

struct TreeNode* insert(struct treeNode*root, int data) {
    if (root == NULL)
    return createNOde (data);
    
    if (data < root-> data)
    root->left = insert(root->left, data);
    else
    root->left = insert(root->right, data);
    
    return root;
}

int main() {
    int n, valu;
    struct treeNode* root = Nude;
    for (int i = 0; i < n; i++) {
        if (scanf("%d", &n) !=1 || n < 1) {
            printf("Invalid input");
            return 0;
        }
        root = insert(root, value);
    }
    printf("%d", findMin(root))
    
    return 0;
}