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;
int n;
int v[100010];
int cnt[100010];
int a[100010];
int mx[100010];
int main() {
  cin >> n;
  for (int i = 0; i < n; ++i) cin >> v[i];
  int c = 0;
  int ans = 0;
  for (int i = 0; i < n; ++i) {
    if (i)
      mx[i] = max(mx[i - 1], v[i]);
    else
      mx[i] = v[i];
    ans += mx[i] == v[i];
    if (v[i] == mx[i]) a[i] = 1;
    if (i and v[i] >= v[i - 1])
      c++;
    else
      c = 1;
    cnt[i] = c;
  }
  for (int i = 1; i < n; ++i) a[i] += a[i - 1];
  int pos = 0;
  int curmx = 0;
  int id = -1;
  while (pos < n) {
    if (v[pos] > mx[pos - 1]) {
      int lastmx = v[pos];
      int curid = pos;
      int left = a[pos - 1];
      int last = 0;
      if (pos) last = mx[pos - 1];
      pos++;
      int cur = 0;
      while (pos < n and v[pos] < lastmx) {
        curmx = max(v[pos], curmx);
        if (curmx > last and curmx == v[pos]) cur++;
        pos++;
      }
      int right = a[n - 1] - a[pos - 1];
      int total = left + cur + right;
      if (total > ans) {
        id = curid;
        ans = total;
      } else if (total == ans and v[curid] < v[id])
        id = curid;
    } else
      pos++;
  }
  if (id != -1) return cout << v[id] << "\n", 0;
  int mn = 1e9;
  for (int i = 0; i < n; ++i)
    if (v[i] != mx[i]) mn = min(mn, v[i]);
  if (mn == 1e9) return cout << "1\n", 0;
  cout << mn << "\n";
  return 0;
}
