#include<iostream>
#include<string.h>
using namespace std;
int dp[110][110];
int main()
{
int N;
while(cin>>N){
memset(dp,0,sizeof(dp));
int p[110];
int numM = N-1;
for(int i=0;i<N;i++)cin>>p[i];
for(int i=1;i<=numM;i++)dp[i][i]=0;
for(int r=2;r<=numM;r++)
for(int i=1;i<=numM+1-r;i++){
int j=i+r-1;
int t = dp[i+1][j]+p[i-1]*p[i]*p[j];
for(int k=i;k<j;k++){
if(t>dp[i][k]+dp[k+1][j]+p[i-1]*p[k]*p[j]){
t=dp[i][k]+dp[k+1][j]+p[i-1]*p[k]*p[j];
}
}
dp[i][j]=t;
}
cout<<dp[1][numM]<<endl;
}
return 0;
}