#include<bits/stdc++.h>
#define MAXN 105
using namespace std;
int dp[MAXN][MAXN],n,a[MAXN],ans,head[MAXN],tail[MAXN];
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",a[i]);
dp[i][i]=0;
}
for(int i=1;i<=n;i++)
for(int left=1;left+i-1<n;left++){
int right=left+i-1;
for(int k=left;k<=right;k++)
dp[left][right]=max(dp[left][right],dp[left][k]+dp[k+1][right]+a[left]*a[k+1]*a[right+1]);
}
for(int i=1;i<=n;i++)
ans=max(ans,dp[i][i+n-1]);
printf("%d",&ans);
return 0;
}