Program rq5;
var n,m,i,j,k,l:longint;
r,c:array[0..101]of longint;
f:array[0..101,0..101]of longint;
function max(a,b:longint):longint;
begin
if a>b then exit(a);
exit(b);
end;
begin
readln(n);
for i:=1 to n do
read(r[i]);
for i:=1 to n do
r[n+i]:=r[i];
for i:=1 to n-1 do
c[i]:=r[i+1];
c[n]:=r[1];
for i:=1 to n do
c[i+n]:=c[i];
for i:=1 to 2*n do
for j:=i+1 to n+i do
for k:=i to j-1 do
f[i,j]:=max(f[i,j],f[i,k]+f[k+1,j]+r[i]*c[k]*c[j]);
for i:=1 to n do
k:=max(k,f[i,n+i-1 ]);
write(k);
end.