#include <bits/stdc++.h>
using namespace std;
struct node {
  int xh, a;
  bool friend operator<(node a, node b) { return a.a < b.a; }
  node() {}
  node(int x, int y) { xh = y, a = x; }
};
int f[100010], i, n, a, ls[100010], rs[100010];
set<node> se;
set<node>::iterator ii;
int main() {
  scanf("%d", &n);
  scanf("%d", &a);
  se.insert(node(a, 0));
  for (i = 1; i < n; i++) {
    scanf("%d", &a);
    ii = se.upper_bound(node(a, i));
    if (ii == se.end() || ls[(*ii).xh]) {
      ii--;
      rs[(*ii).xh] = a;
    } else
      ls[(*ii).xh] = a;
    se.insert(node(a, i));
    f[i] = (*ii).a;
  }
  for (i = 1; i < n; i++) printf("%d ", f[i]);
  return 0;
}
