#include<bits/stdc++.h>
using namespace std;
struct Treenode{
    int val;
    Treenode *left;
    Treenode *right;
    Treenode(int x) : val(x), left(nullptr), right(nullptr){}
};
Treenode* TreeInsert(Treenode* root, int n, int pre){
    if(root == nullptr){
        root = new Treenode(n);
        cout << pre << endl;
    }
    else if(root -> val > n){
        root -> left = TreeInsert(root -> left, n, root -> val);
    }
    else{
        root -> right = TreeInsert(root -> right, n, root -> val);
    }
    return root;
}
int main(){
    int n;
    while(cin >> n){
        Treenode *root = nullptr;
        for(int i = 0; i < n; i++){
            int x;
            cin >> x;
            root = TreeInsert(root, x, -1);
        }
    }
    return 0;
}