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