#include<fstream>
using namespace std;
ifstream fin("energy.in");
ofstream fout("energy.out");
int f[300][300];//f[i][j]代表从第i个珠子到第j个珠子释放后的最大能量
int b[300];
int n;
int maxn=0;
int main()
{
int i,j,k;fin>>n;for(i=1;i<=n;i++) {fin>>b[i];b[n+i]=b[i];}
for(j=2;j<=2*n-1;j++)
for(i=j-1;i>=1&&j-i<n;i--)
{for(k=i;k<j;k++)
{ if(f[i][k]+f[k+1][j]+b[i]*b[k+1]*b[j+1]>f[i][j])
f[i][j]=f[i][k]+f[k+1][j]+b[i]*b[k+1]*b[j+1];}
if(f[i][j]>maxn)
maxn=f[i][j];
}
fout<<maxn<<endl;
return 0;
}