#include<bits/stdc++.h>

using namespace std;

typedef long long LL;
const int MAXN=512;
LL dp[MAXN][MAXN],a[MAXN],sum[MAXN];
int n;

int main(){
	cin>>n;
	memset(dp,0x3f,sizeof(dp));
	for(int i=1;i<=n;i++){
		cin>>a[i];
		sum[i]+=a[i]+sum[i-1];
	}
	for(int i=1;i<=n;i++){
		dp[i][i]=0;
	}
	for(int len=2;len<=n;len++){
		for(int l=1;l<=n;l++){
			int r=l+len-1;
			if(r<=n){
				for(int k=l;k<r;k++){
					dp[l][r]=min(dp[l][r],dp[l][k]+dp[k+1][r]+sum[r]-sum[l-1]);
				}
			}
		}
	}
	cout<<dp[1][n]<<endl;
	return 0;
}
