#include <iostream>
using namespace std;

struct Node {
    int data;
    Node* left;
    Node* right;
    Node(int a) : data(a), left(NULL), right(NULL){}
};

// root->a
// a
Node* insert(Node* root, int x, int father){
    if(root == NULL){
        root = new Node(x);
        cout << father << endl;
    }
    else if (x < root->data) {
        root->left = insert(root->left, x, root->data);
    }
    else {
        root->right = insert(root->right, x, root->data);
    }

    return root;
}

int main() {
    int n, x;
    while (cin >> n) {
        Node* root = NULL;
        while (n --) {
            cin >> x;
            root = insert(root, x, -1);
        }    
    }

    return 0;
}