#include<bits/stdc++.h>
using namespace std;
const int N=120;
int dp[N<<1][N<<1],a[N<<1];
int main(){
int n;scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d",&a[i]),a[n+i]=a[i];
for(int len=1;len<=n;len++){
for(int i=1;i+len<=2*n;i++){
int j=i+len;
for(int k=i+1;k<j;k++){
dp[i][j]=max(dp[i][j],dp[i][k]+dp[k][j]+a[i]*a[k]*a[j]);
}
}
}
int ans=-0x7f7f7f7f;
for(int i=1;i<=n;i++) ans=max(ans,dp[i][i+n]);
printf("%d",ans);
return 0;
}
/**************************************************************
Problem: 2059
User: liangshinan
Language: C++
Result: Accepted
Time:205 ms
Memory:2304 kb
****************************************************************/