#include<iostream>
#include<string>
using namespace std;
struct node{
int data;
node* leftch;
node* rightch;
node(int x):data(x),leftch(nullptr),rightch(nullptr){}
};
void insert(int a,node* &root){//插入x,引用结点指针
if(root==nullptr){
root=new node(a);
return;
}
if(a>root->data){
if(root->rightch==nullptr)printf("%d\n",root->data);
insert(a,root->rightch);
}
else {
if(root->leftch==nullptr)printf("%d\n",root->data);
insert(a,root->leftch);
}
}
int main(){
node* root=new node(-1);//建立-1的根节点
int n;
while(scanf("%d",&n)!=EOF){
int x;
for(int i=0;i<n;i++){
scanf("%d",&x);
insert(x,root);
}
}
return 0;
}