const
finp = '';
fout = '';
var
fi,fo : text;
n,res : integer;
a : array[1..5000] of longint;
f : array[0..5000,0..5000] of longint;
//
procedure ReadFile;
var
i : integer;
begin
assign(fi,finp);
reset(fi);
readln(fi,n);
for i:=1 to n do
read(fi,a[i]);
close(fi);
end;
//
procedure Process;
var
i,L : integer;
begin
res:=0;
fillchar(f,sizeof(f),0);
for i:=4 to n do
for L:=2 to i-3 do
if a[i-L]-a[i-L-1]=a[i]-a[i-1] then
begin
f[i,L]:=f[i-1,L]+1;
if f[i,L]>L then f[i,L]:=L;
If f[i,L]>res then res:=f[i,L];
end;
if res>=4 then res:=res+1
else res:=0;
writeln(res);
end;
//
begin
ReadFile;
Process;
end.
Y29uc3QKICAgICAgZmlucCAgICA9ICAgJyc7CiAgICAgIGZvdXQgICAgPSAgICcnOwp2YXIKICAgICAgZmksZm8gICA6ICAgdGV4dDsKICAgICAgbixyZXMgICA6ICAgaW50ZWdlcjsKICAgICAgYSAgICAgICA6ICAgYXJyYXlbMS4uNTAwMF0gb2YgbG9uZ2ludDsKICAgICAgZiAgICAgICA6ICAgYXJyYXlbMC4uNTAwMCwwLi41MDAwXSBvZiBsb25naW50OwovLwpwcm9jZWR1cmUgUmVhZEZpbGU7CnZhcgogICAgICBpICAgICAgIDogICBpbnRlZ2VyOwpiZWdpbgogICAgICBhc3NpZ24oZmksZmlucCk7CiAgICAgIHJlc2V0KGZpKTsKICAgICAgcmVhZGxuKGZpLG4pOwogICAgICBmb3IgaTo9MSB0byBuIGRvCiAgICAgICAgcmVhZChmaSxhW2ldKTsKICAgICAgY2xvc2UoZmkpOwplbmQ7Ci8vCnByb2NlZHVyZSBQcm9jZXNzOwp2YXIKICAgICAgaSxMICAgICA6ICAgaW50ZWdlcjsKYmVnaW4KICAgICAgcmVzOj0wOwogICAgICBmaWxsY2hhcihmLHNpemVvZihmKSwwKTsKICAgICAgZm9yIGk6PTQgdG8gbiBkbwogICAgICAgIGZvciBMOj0yIHRvIGktMyBkbwogICAgICAgICAgaWYgYVtpLUxdLWFbaS1MLTFdPWFbaV0tYVtpLTFdIHRoZW4KICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICBmW2ksTF06PWZbaS0xLExdKzE7CiAgICAgICAgICAgICAgaWYgZltpLExdPkwgdGhlbiBmW2ksTF06PUw7CiAgICAgICAgICAgICAgSWYgZltpLExdPnJlcyB0aGVuIHJlczo9ZltpLExdOwogICAgICAgICAgICBlbmQ7CiAgICAgIGlmIHJlcz49NCB0aGVuIHJlczo9cmVzKzEKICAgICAgZWxzZSByZXM6PTA7CiAgICAgIHdyaXRlbG4ocmVzKTsKZW5kOwovLwpiZWdpbgogICAgICBSZWFkRmlsZTsKICAgICAgUHJvY2VzczsKZW5kLg==