#include <bits/stdc++.h>
using namespace std;
//算法提高,能量项链,就是可以转圈的矩阵连乘问题
//把1->n扩展为1->n->n+1->2*n,然后对其进行dp,这样就循环起来了
int dp[2000][2000],n,a[1000],ans=0;//用i表示左维度,i+1表示右维度
int main() {
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
a[n+1]=a[1];
memset(dp,0, sizeof(dp));
//[,]
//注意以l开始循环,如果以i的话,会导致直接算1->n,就错了
for(int l=1;l<=n;l++){
for(int i=1;i<=2*n-l+1;i++){
int j=l+i-1;
for(int k=i;k<j;k++){
dp[i][j]=max(dp[i][j],dp[i][k]+dp[k+1][j]+a[i>n?i-n:i]*a[j+1>n?j+1-n:j+1]*a[k+1>n?k+1-n:k+1]);
}
ans=max(ans,dp[i][j]);
}
}
cout<<ans<<endl;
return 0;
}