#include <iostream>
using namespace std;
typedef struct btree{
struct btree *left;
struct btree *right;
int data;
}btree;
int ans;
btree *insert(btree *t,int x)
{
if(t==NULL)
{
t=new btree;
t->left=t->right=NULL;
t->data=x;
ans=-1;
}
if(x>t->data)
{
int f=(t->right==NULL);
t->right=insert(t->right,x);
if(f&&t->right!=NULL)
ans=t->data;
}
if(x<t->data)
{
int f=(t->left==NULL);
t->left=insert(t->left,x);
if(f&&t->left!=NULL)
ans=t->data;
}
return t;
}
int main() {
int n;cin>>n;
btree *t=NULL;
while(n--)
{
int x;cin>>x;
t=insert(t,x);
cout<<ans<<endl;
}
}