#include<stdlib.h>
int s[105]={0},ans[205][205]={0},sum[205]={0},flag,temp,max[205][205]={0};
int xiao(int a,int b)
{
if(a<b) return a;
else return b;
}
int main()
{
int n,i,j,k,min,x=0,p,l,ans1=2000000000,ans2=-1,maxx;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&s[i]);
x+=s[i];
sum[i]=x;
}
for(i=n+1;i<=n+n;i++)
{
s[i]=s[i-n];
x+=s[i];
sum[i]=x;
}
for(i=1;i<=n*2;i++)
{
j=i+1;
ans[i][j]=s[i]+s[j];
max[i][j]=ans[i][j];
}
for(i=n*2;i>=1;i--)
{
for(j=i+1;j<=n*2;j++)
{
min=999999999;
maxx=-1;
for(k=i;k<j;k++)
{
flag=ans[i][k]+ans[k+1][j];
temp=max[i][k]+max[k+1][j];
if(flag<min) min=flag;
if(temp>maxx) maxx=temp;
}
ans[i][j]=min+sum[j]-sum[i-1];
max[i][j]=maxx+sum[j]-sum[i-1];
}
}
j=n;
for(i=1;i<=n-1;i++)
{
if(ans1>ans[i][j]) ans1=ans[i][j];
if(ans2<max[i][j]) ans2=max[i][j];
j++;
}
printf("%d\n%d",ans1,ans2);
return 0;
}