#include <bits/stdc++.h>
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
#define cin f
#define cout g
#define int long long
const int Max = 500 + 1;
void nos()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
}
int n;
int a[Max];
int dp[Max][Max];
void read()
{
f>>n;
int i;
for(i=0;i<=n;i++)
f>>a[i];
}
void solve()
{
int i,j,k;
for(i=1;i<=n;i++)
dp[i][i] = 0;
for(i=1;i<n;i++)
dp[i][i+1] = a[i-1] * a[i] * a[i+1];
for(int len = 2;len <= n - 1;++len)
for(i=1;i<=n-len;++i)
{
j = i + len;
dp[i][j] = LLONG_MAX;
for(k = i;k<=j - 1;k++)
dp[i][j] = min(dp[i][j],dp[i][k] + dp[k+1][j] + a[i-1]*a[k]*a[j]);
}
cout<<dp[1][n];
}
void restart()
{
}
int32_t main()
{
nos();
read();
solve();
restart();
return 0;
}