uses math;
var
  i,n,k,l,x:longint;
	f:array[0..101,0..101]of longint;
	s:array[0..101]of longint;
begin
  fillchar(f,sizeof(f),$7f div 3);
  readln(n);
	s[0]:=0;
	for i:=1 to n do
	begin
	  read(x);
		f[1,i]:=0;
		s[i]:=s[i-1]+x;
	end;
	for l:=2 to n do
	  for x:=1 to n-l+1 do
			begin
				for k:=1 to l-1 do f[l,x]:=min(f[l,x],f[k,x]+f[l-k,x+k]);
				f[l,x]:=f[l,x]+s[x+l-1]-s[x-1];
			end;
	write(f[n,1]);
end.
/**************************************************************
	Problem: 2057
	User: admin
	Language: Pascal
	Result: Wrong Answer
****************************************************************/