var n,i,len,l,r,k,j,min,max:longint;
a,s:array[-5..205] of longint;
f,g:array[-5..205,-5..205] of longint;
begin
readln(n);
for i:=1 to n do
for j:=1 to n do
begin
f[i,j]:=maxlongint;
g[i,j]:=-maxlongint;
end;
s[0]:=0;
for i:=1 to n do
begin
read(a[i]);
f[i,i]:=0;
g[i,i]:=0;
s[i]:=s[i-1]+a[i];
end;
for i:=n+1 to 2*n do
begin
f[i,i]:=0;g[i,i]:=0;
s[i]:=s[i-1]+a[i-n];
end;
for len:=2 to n do
for l:=1 to 2*n-len+1 do
begin
r:=l+len-1;
for k:=l to r-1 do
begin
if f[l,r]>f[l,k]+f[k+1,r] then f[l,r]:=f[l,k]+f[k+1,r];
if g[l,r]<g[l,k]+g[k+1,r] then g[l,r]:=g[l,k]+g[k+1,r];
end;
f[l,r]:=f[l,r]+s[r]-s[l-1];
g[l,r]:=g[l,r]+s[r]-s[l-1];
end;
min:=maxlongint;max:=0;
for i:=1 to n do
begin
if f[i,n+i-1]<min then min:=f[i,n+i-1];
if g[i,n+i-1]>max then max:=g[i,n+i-1];
end;
writeln(min);
writeln(max);
end.