#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,w[405],s[405],f[405][405],g[405][405];
int main()
{
scanf("%d",&n);
int i,len,l,r,k,minv=0x3f3f3f3f,maxv=-0x3f3f3f3f;
for (i=1;i<=n;i++){
scanf("%d",&w[i]);
w[i+n]=w[i];
}
for(i=1;i<=n*2;i++)s[i]=s[i-1]+w[i];
memset(f,0x3f,sizeof f);
memset(g,-0x3f,sizeof g);
for(len=1;len<=n;len++)for(l=1;l+len-1<=n*2;l++){
r=l+len-1;
if(l==r)f[l][r]=g[l][r]=0;
else for(k=l;k<r;k++)
f[l][r]=min(f[l][r],f[l][k]+f[k+1][r]+s[r]-s[l-1]),g[l][r]=max(g[l][r],g[l][k]+g[k+1][r]+s[r]-s[l-1]);
}
for(i=1;i<=n;i++)minv=min(minv,f[i][i+n-1]),maxv=max(maxv,g[i][i+n-1]);
printf("%d\n%d\n",minv,maxv);
return 0;
}