You are given a permutation p of length n. Remove one element from permutation to make the number of records the maximum possible.

We remind that in a sequence of numbers a1, a2, ..., ak the element ai is a record if for every integer j (1 ≤ j < i) the following holds: aj < ai. 

Input

The first line contains the only integer n (1 ≤ n ≤ 105) — the length of the permutation.

The second line contains n integers p1, p2, ..., pn (1 ≤ pi ≤ n) — the permutation. All the integers are distinct.

Output

Print the only integer — the element that should be removed to make the number of records the maximum possible. If there are multiple such elements, print the smallest one.

Examples

Input

1
1


Output

1


Input

5
5 1 2 3 4


Output

5

Note

In the first example the only element can be removed.
#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
const int maxn = 1e5 + 5;
int add(int x, int y) {
  x += y;
  if (x >= mod) x -= mod;
  return x;
}
int mul(int x, int y) {
  long long z = 1LL * x * y;
  return z - z / mod * mod;
}
int lowbit(int t) { return t & (-t); }
long long a[maxn], b[maxn], c[maxn];
int n;
void add(long long f[], int x, int d) {
  while (x > 0) {
    f[x] += d;
    x -= lowbit(x);
  }
}
long long ff(long long f[], int x) {
  long long s = 0;
  while (x <= n) {
    s += f[x];
    x += lowbit(x);
  }
  return s;
}
int main() {
  int i, x, y;
  scanf("%d", &n);
  for (i = 1; i <= n; i++) {
    scanf("%d", &x);
    y = ff(a, x);
    if (y == 0)
      c[x]--;
    else if (y == 1) {
      y = ff(b, x);
      c[y]++;
    }
    add(a, x, 1);
    add(b, x, x);
  }
  y = 1;
  x = c[1];
  for (i = 1; i <= n; i++) {
    if (c[i] > x) {
      x = c[i];
      y = i;
    }
  }
  printf("%d\n", y);
  return 0;
}
