#include<cstdio>
#include<cstring>
#define min(a,b) a>b?b:a
using namespace std;
#define N 3010
int n,s[N],f[N][N],b[N][N];
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d",&s[i]),s[i]+=s[i-1];
for(int i=1;i<=n;i++) b[i][i]=i;
for(int j=2;j<=n;j++){
for(int i=j-1;i>=1&&j-i+1<=n;i--){
f[i][j]=0x7fffffff;
for(int k=b[i][j-1];k<=b[i+1][j];k++){
if(f[i][j]>f[i][k]+f[k+1][j]+s[j]-s[i-1]){
f[i][j]=f[i][k]+f[k+1][j]+s[j]-s[i-1];
b[i][j]=k;
}
}
}
}
printf("%d\n",f[1][n]);
return 0;
}