#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
typedef struct tree {
    int a;
    struct tree* lchild;
    struct tree* rchild;
    struct tree* parent;
} tree;
int main() {
    int n;
    scanf("%d", &n);
    int a[100];
    for (int i = 0; i < n; i++) {
        int temp;
        scanf("%d", &temp);
        a[i] = temp;
    }
    struct tree T;
    T.a = a[0];
    T.lchild = NULL;
    T.rchild = NULL;
    T.parent = NULL;
    printf("%d\n", -1);

    struct tree* temp = &T;
    for (int i = 1; i < n; i++) {
        struct tree* tempnode = (tree*)malloc(sizeof(tree));
        tempnode->a = a[i];
        tempnode->lchild = NULL;
        tempnode->rchild = NULL;
        tempnode->parent = NULL;
        while (1) {
            if (temp->a < a[i] && temp->rchild == NULL) {
                temp->rchild = tempnode;
                tempnode->parent = temp;
                printf("%d\n", tempnode->parent->a);
                break;
            } else if (temp->a > a[i] && temp->lchild == NULL) {
                temp->lchild = tempnode;
                tempnode->parent = temp;
                printf("%d\n", tempnode->parent->a);
                break;
            } else if (temp->a < a[i]) {
                temp = temp->rchild;
            } else {
                temp = temp->lchild;
            }
        }
        temp = &T;
    }
    return 0;
}