#include <bits/stdc++.h>
using namespace std;
int N, pad[100005];
set<pair<pair<int, int>, int> > S;
int main() {
  int a;
  scanf("%d%d", &N, &a);
  S.insert(pair<pair<int, int>, int>(pair<int, int>(1, a), a));
  S.insert(pair<pair<int, int>, int>(pair<int, int>(a + 1, 1e9), a));
  S.insert(pair<pair<int, int>, int>(pair<int, int>(1e9, 1e9), 1e9));
  pair<pair<int, int>, int> tmp;
  for (int i = 2; i <= N; i++) {
    scanf("%d", &a);
    auto it = S.lower_bound(pair<pair<int, int>, int>(pair<int, int>(a, a), a));
    if (it->first.first > a) it--;
    tmp = *it;
    S.erase(it);
    printf("%d ", tmp.second);
    S.insert(pair<pair<int, int>, int>(pair<int, int>(tmp.first.first, a), a));
    S.insert(
        pair<pair<int, int>, int>(pair<int, int>(a + 1, tmp.first.second), a));
  }
  return 0;
}
