fmax,fmin,s:array[0..200,0..200]of longint;
w,i,j,n,k,b,c:longint;
function min(a,b:longint):longint;
begin
if a>b then exit(b) else exit(a);
end;
function max(a,b:longint):longint;
begin
if a>b then exit(a) else exit(b);
end;
begin
readln(n);
for i:=1 to n do read(a[i]);
for i:=n+1 to 2*n do a[i]:=a[i-n];
for i:=1 to 2*n do begin
for j:=1 to 2*n do fmin[i,j]:=999999999;
fmin[i,i]:=0;
end;
for i:=1 to 2*n do begin
fmin[i,i+1]:=a[i]+a[i+1];
fmax[i,i+1]:=a[i]+a[i+1];
end;
for i:=1 to 2*n-1 do begin
for j:=i to 2*n do s[i,j]:=s[i,j-1]+a[j];
end;
for i:=3 to n do begin
for j:=1 to n do begin
w:=i+j-1;
for k:=j to w-1 do begin
fmax[j,w]:=max(fmax[j,w],fmax[j,k]+fmax[k+1,w]+s[j,w]);
fmin[j,w]:=min(fmin[j,w],fmin[j,k]+fmin[k+1,w]+s[j,w]);
end;
end;
end;
b:=maxlongint;
for i:=1 to n do begin
b:=min(b,fmin[i,i+n-1]);
c:=max(c,fmax[i,i+n-1]);
end;
writeln(b);
writeln(c);
end.