#include<iostream>
#include<string>
using namespace std;
int tree[100];
struct TreeNode{
int data;
TreeNode* left;
TreeNode* right;
};
void treeinsert(TreeNode*root,int i){
TreeNode* p=new TreeNode;
p->data=i;
p->left=NULL;
p->right=NULL;
if(p->data>root->data){
if(root->right==NULL){
cout<<root->data<<"\n";
root->right=p;
}
else{
treeinsert(root->right,i);
}
}
else if(p->data<root->data){
if(root->left==NULL){
cout<<root->data<<"\n";
root->left=p;
}
else{
treeinsert(root->left,i);
}
}
}
int main(){
int n;
cin>>n;
cin>>tree[0];
TreeNode* root=new TreeNode;
root->data=tree[0];
root->left=NULL;
root->right=NULL;
cout<<"-1"<<"\n";
for(int i=1;i<n;i++){
cin>>tree[i];
treeinsert(root,tree[i]);
}
}