uses crt,math;
var mmax,mmin,i,n:longint;
k:int64;
a:array[0..1000001] of longint;
begin
clrscr;
readln(n);
for i:=1 to n do read(a[i]);
mmax:=a[1];
mmin:=a[2];
k:=-trunc(1e12);
for i:=3 to n do
begin
mmax:=max(mmax,a[i-2]);
mmin:=min(mmin,a[i-1]);
k:=max(k,mmax - 3*mmin + 2*a[i]);
end;
writeln(k);
readln;readln;
end.