#include <bits/stdc++.h>   using namespace std;   const int N = 1e5;   map<int, int> dic;   int n, a[N + 10], ma[N + 10], ma2[N + 10];   int main() {     ios::sync_with_stdio(0), cin.tie(0);     cin >> n;     for (int i = 1; i <= n; i++) cin >> a[i];     ma[1] = a[1];     ma2[1] = -1;     for (int i = 2; i <= n; i++) {       if (a[i] > ma[i - 1]) {         ma2[i] = ma[i - 1];         ma[i] = a[i];       } else {         ma[i] = ma[i - 1];         if (ma2[i - 1] < a[i]) {           ma2[i] = a[i];         } else           ma2[i] = ma2[i - 1];       }       if (a[i] != ma[i] && a[i] == ma2[i]) {         dic[ma[i]]++;       }     }     int tot = -1e6, idx = -1;     for (int i = 1; i <= n; i++) {       int temp = dic[a[i]];       if (a[i] == ma[i]) temp--;       if (temp > tot) {         tot = temp;         idx = a[i];       } else if (temp == tot) {         idx = min(idx, a[i]);       }     }     cout << idx << endl;     return 0;   }   