#include<bits/stdc++.h>
using namespace std;
#define N 1010
#define inf 99999999
int n,f[N][N],a[N],sum[N],ans=0;
int main(){
cin>>n;
memset(f,-inf,sizeof(-inf));
for(int i=1;i<=n;i++)
{
cin>>a[i];
a[i+n]=a[i];
f[i][i]=f[i+n][i+n]=0;
}
for(int lon=2;lon<=n;lon++)
for(int i=1;i<=2*n-lon+1;i++){
int j=i+lon-1;
for(int k=i;k<j;k++)
f[i][j]=max(f[i][j],f[i][k]+a[k+1]*a[i]*a[j]+f[k+1][j]);
}
for(int i=1;i<=n+1;i++){
ans=max(ans,f[i][i+n-1]);
}
cout<<ans<<endl;
return 0;
}