#include<stdio.h>
#include<memory.h>
#define MaxN 200
class Tree{
public:
int x;
Tree * left;
Tree * right;
Tree(int v){
x=v;
left=NULL;
right=NULL;
}
};
Tree* root;
void insert(Tree*& r,Tree* parent,int v){
if(r==NULL){
r=new Tree(v);
if(parent==NULL)printf("-1\n");
else printf("%d\n",parent->x);
}
else if(r->x<v){insert(r->right,r,v);}
else if(r->x>v){insert(r->left,r,v);}
}
int main(){
int n;
while(scanf("%d",&n)!=EOF){
int temp;
root=NULL;
for(int i=0;i<n;i++){
scanf("%d",&temp);
insert(root,NULL,temp);
}
//
}
return 0;
}
/**************************************************************
Problem: 1467
User: cust123
Language: C++
Result: Accepted
Time:10 ms
Memory:1024 kb
****************************************************************/