#include <bits/stdc++.h>
//#define int long long
#define fast ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
#define lg2(n) (63-__builtin_clzll(n))
#define mask(n) (1LL << (n))
#define TASK ""
#define openfile(); if( fopen(TASK".inp", "r")){freopen(TASK".inp", "r", stdin);freopen(TASK".out", "w", stdout);}
#define lc(n) (n << 1)
#define rc(n) ((n << 1) | 1)
#define fi first
#define se second
#define FOR(i, l, r, k) for( int i = l; i <= r; i += k)
#define FOD(i, r, l, k) for( int i = r; i >= l; i -= k)
#define mii map<int,int>
#define umi unordered_map<int, int>
#define pii pair<int,int>
#define vi vector<int>
using namespace std;
const int oo = 1e9 + 1;
const int mod = 20262026;
const int nmax = 1e6 + 8;
const int base = 311;
int n, a[nmax], r[nmax];
stack<int> s, is;
int calc(int l, int r){
return r - l + 1;
}
main(){
fast;
openfile();
cin >> n;
s.push(0);
a[0] = -oo;
is.push(n + 1);
a[n + 1] = -oo;
for(int i = 1;i <= n; ++i) cin >> a[i];
for(int i = n; i >= 1; --i){
while(a[i] <= a[is.top()]){
is.pop();
}
r[i] = is.top();
is.push(i);
// cout << r[]
}
int ans = 0;
for(int i = 1; i <= n; ++i){
while(a[i] <= a[s.top()]){
s.pop();
}
if(calc(s.top() + 1, r[i] - 1) >= a[i]) ans = max(ans, a[i]);
s.push(i);
}
cout << ans;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Ci8vI2RlZmluZSBpbnQgbG9uZyBsb25nCiNkZWZpbmUgZmFzdCBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgY2luLnRpZShudWxscHRyKTsgY291dC50aWUobnVsbHB0cik7CiNkZWZpbmUgbGcyKG4pICg2My1fX2J1aWx0aW5fY2x6bGwobikpCiNkZWZpbmUgbWFzayhuKSAoMUxMIDw8IChuKSkKI2RlZmluZSBUQVNLICIiCiNkZWZpbmUgb3BlbmZpbGUoKTsgIGlmKCBmb3BlbihUQVNLIi5pbnAiLCAiciIpKXtmcmVvcGVuKFRBU0siLmlucCIsICJyIiwgc3RkaW4pO2ZyZW9wZW4oVEFTSyIub3V0IiwgInciLCBzdGRvdXQpO30KI2RlZmluZSBsYyhuKSAobiA8PCAxKQojZGVmaW5lIHJjKG4pICgobiA8PCAxKSB8IDEpCgojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgRk9SKGksIGwsIHIsIGspIGZvciggaW50IGkgPSBsOyBpIDw9IHI7IGkgKz0gaykKI2RlZmluZSBGT0QoaSwgciwgbCwgaykgZm9yKCBpbnQgaSA9IHI7IGkgPj0gbDsgaSAtPSBrKQoKI2RlZmluZSBtaWkgbWFwPGludCxpbnQ+CiNkZWZpbmUgdW1pIHVub3JkZXJlZF9tYXA8aW50LCBpbnQ+CiNkZWZpbmUgcGlpIHBhaXI8aW50LGludD4KI2RlZmluZSB2aSB2ZWN0b3I8aW50PgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGludCBvbyA9IDFlOSArIDE7CmNvbnN0IGludCBtb2QgPSAyMDI2MjAyNjsKY29uc3QgaW50IG5tYXggPSAxZTYgKyA4Owpjb25zdCBpbnQgYmFzZSA9IDMxMTsKCmludCBuLCBhW25tYXhdLCByW25tYXhdOwoKc3RhY2s8aW50PiBzLCBpczsKCmludCBjYWxjKGludCBsLCBpbnQgcil7CiAgICByZXR1cm4gciAtIGwgKyAxOwp9CgptYWluKCl7CiAgICBmYXN0OwogICAgb3BlbmZpbGUoKTsKICAgIGNpbiA+PiBuOwogICAgcy5wdXNoKDApOwogICAgYVswXSA9IC1vbzsKICAgIGlzLnB1c2gobiArIDEpOwogICAgYVtuICsgMV0gPSAtb287CiAgICBmb3IoaW50IGkgPSAxO2kgPD0gbjsgKytpKSBjaW4gPj4gYVtpXTsKICAgIGZvcihpbnQgaSA9IG47IGkgPj0gMTsgLS1pKXsKICAgICAgICB3aGlsZShhW2ldIDw9IGFbaXMudG9wKCldKXsKICAgICAgICAgICAgaXMucG9wKCk7CiAgICAgICAgfQogICAgICAgIHJbaV0gPSBpcy50b3AoKTsKICAgICAgICBpcy5wdXNoKGkpOwovLyAgICAgICAgY291dCA8PCByW10KICAgIH0KICAgIGludCBhbnMgPSAwOwogICAgZm9yKGludCBpID0gMTsgaSA8PSBuOyArK2kpewogICAgICAgIHdoaWxlKGFbaV0gPD0gYVtzLnRvcCgpXSl7CiAgICAgICAgICAgIHMucG9wKCk7CiAgICAgICAgfQogICAgICAgIGlmKGNhbGMocy50b3AoKSArIDEsIHJbaV0gLSAxKSA+PSBhW2ldKSBhbnMgPSBtYXgoYW5zLCBhW2ldKTsKICAgICAgICBzLnB1c2goaSk7CiAgICB9CiAgICBjb3V0IDw8IGFuczsKfQo=