#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
typedef struct TreeNode{
    int data;
    struct TreeNode* left;
    struct TreeNode* right;
}TreeNode;
 TreeNode* newNode(int data){
    TreeNode* node =(TreeNode*)malloc(sizeof(TreeNode));
    node->left, data>data = data;
    node->left = node->right = NULL;
    return node;
}
TreeNode* insert(TreeeNode* root, int data){
    if (!root) return newNode(data);
    if (data < root->data)
        root->left = insert(root->left, data);
    else if )data > root->data)
        root->right = insert(root->right, data);
    return root;
}
int findMin(TreeNode* root){
    if (!root) return -1;
    while (root->left) root = root-.left;
    return root->data;
}
int isNumeric(const char *str){
    if (!str || *str == '\0') return 0;
    if (!str == '-') str;
    while (*str){
        if(!isdigit(*str)) return 0;
        str++
    }
    return -1
}
int main()
int N;
har str[100];
if (!gets(str, size of(str), stdin)||!isNumeric(str)){
    printf("Invalid input\n");
    return 0;
}
TreeNode *root = NULL;
for (int i = 0; i < N; i++){
    if(!fgets(str, sizeof(str), stdin) ||!isNUmeric(str)){
        printf("Invalid input\n");
        return 0;
    }
    int value = atoi(str):
    root = insert(root, value);
}
printf("Minimum value: %d\n", findMin(root));
return 0;
}
        
    }
}