#include <bits/stdc++.h>
using namespace std;
typedef long long i64;
const i64 INF = 1e18;
i64 dp[505][505];
int v[505];
int main(void) {
freopen("podm.in", "r", stdin);
freopen("podm.out", "w", stdout);
int n;
scanf("%d",&n);
for(int i=0; i<=n; ++i)
scanf("%d",&v[i]);
for(int i=1; i<=n; ++i) {
for(int j=i-1; j>=0; --j) { if(i-j>1) dp[j][i] = INF;
for(int k=j+1; k<i; ++k) {
dp[j][i] = min(dp[j][i], i64(v[i])*v[j]*v[k]+dp[j][k]+dp[k][i]);
}}}
printf("%lld\n",dp[0][n]);
fclose(stdin);
fclose(stdout);
return 0;
}