#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));
    newnode->data=data;
    newnode->left=newnode->right= NULL;
    return newnode;
}
node* insert (node* root,int data){
    if(root== null){
        return createnode(data);
    }
    if(data < root->data){
        root->left = insert(root->left,data); 
    }else{
        root->right =insert(root->right,data);
    }
    return root;
}
int findmin(node* root){
    if(root == null) retuen 0;
    while(root->left != null){
        root = root->left;
    }
    return root->data;
}
int main()
int n;
if (scanf("%d",&n)!=1||n<=0){
    printf("Invalid input\n");
    return 0;
}
node* root = null;
int value;
for(int i=0 ;i< n;i++){
    if(scanf("%d",&value)!=1){
        printf("Invalid input\n");
        return o;
    }
    root= insert (root, value);
}
printf("%d\n",findmin(root));
return 0;
}