uses math;
const
fi='';
fo='';
maxn=trunc(1e6)+3;
var
st : array[1..maxn] of longint;
a,l,r : array[1..maxn] of longint;
i,j,n : longint;
res : int64;
top : longint;
procedure enter;
begin
assign(input,fi);reset(input);
readln(n);
for i:=1 to n do read(a[i]);
end;
procedure push(x : longint);
begin
inc(top);
st[top] := x;
end;
function get: longint;
begin
get := st[top];
end;
procedure process;
begin
top :=0 ;
for i:=1 to n do
begin
while (top<>0) and (a[get]>=a[i]) do dec(top);
if top=0 then l[i] := 0 else l[i] := get;
push(i);
end;
top := 0;
for i:=n downto 1 do
begin
while (top<>0) and (a[get]>=a[i]) do dec(top);
if top=0 then r[i]:=n+1 else r[i] := get;
push(i);
end;
for i:=1 to n do
if r[i]-l[i]-1>=a[i] then
res := max(res, a[i]);
end;
procedure print;
begin
assign(output,fo);rewrite(output);
writeln(res);
end;
begin
enter;
process;
print;
end.
dXNlcyBtYXRoOwpjb25zdAogIGZpPScnOwogIGZvPScnOwogIG1heG49dHJ1bmMoMWU2KSszOwp2YXIKICBzdCA6IGFycmF5WzEuLm1heG5dIG9mIGxvbmdpbnQ7CiAgYSxsLHIgOiBhcnJheVsxLi5tYXhuXSBvZiBsb25naW50OwogIGksaixuIDogbG9uZ2ludDsKICByZXMgOiBpbnQ2NDsKICB0b3AgOiBsb25naW50Owpwcm9jZWR1cmUgZW50ZXI7CiAgYmVnaW4KICAgIGFzc2lnbihpbnB1dCxmaSk7cmVzZXQoaW5wdXQpOwogICAgcmVhZGxuKG4pOwogICAgZm9yIGk6PTEgdG8gbiBkbyByZWFkKGFbaV0pOwogIGVuZDsKcHJvY2VkdXJlIHB1c2goeCA6IGxvbmdpbnQpOwogIGJlZ2luCiAgICBpbmModG9wKTsKICAgIHN0W3RvcF0gOj0geDsKICBlbmQ7CmZ1bmN0aW9uIGdldDogbG9uZ2ludDsKICBiZWdpbgogICAgZ2V0IDo9IHN0W3RvcF07CiAgZW5kOwpwcm9jZWR1cmUgcHJvY2VzczsKICBiZWdpbgogICAgdG9wIDo9MCA7CiAgICBmb3IgaTo9MSB0byBuIGRvCiAgICAgIGJlZ2luCiAgICAgICAgd2hpbGUgKHRvcDw+MCkgYW5kIChhW2dldF0+PWFbaV0pIGRvIGRlYyh0b3ApOwogICAgICAgIGlmIHRvcD0wIHRoZW4gbFtpXSA6PSAwIGVsc2UgbFtpXSA6PSBnZXQ7CiAgICAgICAgcHVzaChpKTsKICAgICAgZW5kOwogICAgdG9wIDo9IDA7CiAgICBmb3IgaTo9biBkb3dudG8gMSBkbwogICAgICBiZWdpbgogICAgICAgIHdoaWxlICh0b3A8PjApIGFuZCAoYVtnZXRdPj1hW2ldKSBkbyBkZWModG9wKTsKICAgICAgICBpZiB0b3A9MCB0aGVuIHJbaV06PW4rMSBlbHNlIHJbaV0gOj0gZ2V0OwogICAgICAgIHB1c2goaSk7CiAgICAgIGVuZDsKICAgIGZvciBpOj0xIHRvIG4gZG8KICAgICAgaWYgcltpXS1sW2ldLTE+PWFbaV0gdGhlbgogICAgICAgIHJlcyA6PSBtYXgocmVzLCBhW2ldKTsKZW5kOwpwcm9jZWR1cmUgcHJpbnQ7CiAgYmVnaW4KICAgIGFzc2lnbihvdXRwdXQsZm8pO3Jld3JpdGUob3V0cHV0KTsKICAgIHdyaXRlbG4ocmVzKTsKICBlbmQ7CmJlZ2luCiAgZW50ZXI7CiAgcHJvY2VzczsKICBwcmludDsKZW5kLg==