//P1063
#include <iostream>
#include <cstdio>
using namespace std;
const int N=210;
int n,a[N],dp[N][N],ans=-1;
int main(){
scanf("%d",&n);
for(int i=1; i<=n; ++i)
scanf("%d",&a[i]), a[i+n]=a[i];
for(int len=3; len<=n+1; ++len)//为什么这里是从 3 到 n+1 ?
for(int l=1; l+len-1<=n*2; ++l){
int r=l+len-1;
for(int mid=l+1; mid<=r-1; ++mid)
dp[l][r]=max(dp[l][r],dp[l][mid]+dp[mid][r]+a[l]*a[mid]*a[r]);
}
for(int i=1; i<=n; ++i)
ans=max(ans,dp[i][i+n]);
printf("%d",ans);
return 0;
}