#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, a[100001], i;
  set<int> mysetp, mysetn, left, right;
  set<int>::iterator l, r, p;
  scanf("%d", &n);
  scanf("%d", &a[1]);
  mysetn.insert(-a[1]);
  mysetp.insert(a[1]);
  for (i = 2; i <= n; i++) {
    scanf("%d", &a[i]);
    l = mysetn.lower_bound(-a[i]);
    r = mysetp.lower_bound(a[i]);
    if (*l > 0 || -(*l) > a[i]) {
      left.insert(*r);
      printf("%d\n", *r);
    } else if (*r < a[i]) {
      printf("%d\n", -(*l));
    } else if (-(*l) == *r) {
      if (*r > a[i]) left.insert(*r);
      printf("%d\n", *r);
    } else {
      p = left.lower_bound(*r);
      if (*p == *r) {
        printf("%d\n", -(*l));
      } else {
        left.insert(*r);
        printf("%d\n", *r);
      }
    }
    mysetp.insert(a[i]);
    mysetn.insert(-a[i]);
  }
  return 0;
}
