#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
****************************************************************/