#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]);
    }

}