#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
typedef struct Node{
    Node *l, *r;
    int v;
    Node(){
        l = NULL;
        r = NULL;
    }
}*tree, Node;
void insert(Node* &p, int v, int pre){
    if(p == NULL){
        p = new Node();
        p->v = v;
        printf("%d\n", pre);
        return;
    }
    if(v < p->v)insert(p->l, v, p->v);
    else insert(p->r, v, p->v);
}
int main(){
    int N;
    while(~scanf("%d", &N)){
        tree p;
        p = NULL;
        int v;
        for(int i = 0; i < N; i++){
            scanf("%d", &v);
            insert(p, v, -1);
        }
    }
    return 0;
}