#include<bits/stdc++.h>
using namespace std;
#define int long long
int dp[210][210], f[210];
int n;
int dfs(int l, int r){
if(l >= r) return 0;
if(dp[l][r]) return dp[l][r];
if(l + r == 1) return dp[l][r] = f[l] * f[l + 1] * f[l + 2];
return dp[l][r] = max(dfs(l + 1, r) + f[l] * f[l + 1] * f[r + 1], dfs(l, r - 1) + f[l] * f[r] * f[r + 1]);
}
signed main(){
std::ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin >> n;
for(int i = 1; i <= n; i ++){
cin >> f[i];
f[i + n] = f[i];
}
int ans = 0;
for(int i = 1; i <= n; i ++){
ans = max(ans, dfs(i, i + n - 1));
}
cout << ans << endl;
return 0;
}