#include <bits/stdc++.h>
using namespace std;
const int N=505;
int a[N];
int sum[N];
int fmx[N][N];//区间l~r的最大得分
int fmn[N][N];//区间l~r的最小得分
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++) { scanf("%d",&a[i]); a[n+i]=a[i]; }
    for(int i=1;i<=2*n;i++) sum[i]+=sum[i-1]+a[i];
    for(int len=2;len<=2*n;len++)
    {
        for(int l=1;l<=2*n-len+1;l++)
        {
            int r=len+l-1;fmn[l][r]=1e9+4;
            for(int k=l;k<r;k++)//合并l~k,k+1~r
            {

                fmx[l][r]=max(fmx[l][r],fmx[l][k]+fmx[k+1][r]+sum[r]-sum[l-1]);
                fmn[l][r]=min(fmn[l][r],fmn[l][k]+fmn[k+1][r]+sum[r]-sum[l-1]);
            }
        }
    }
    int ans1=1e9+4,ans2=0;
    for(int i=1;i<=n;i++)
    {
        ans1=min(ans1,fmn[i][i+n-1]);
        ans2=max(ans2,fmx[i][i+n-1]);
    }
    printf("%d\n%d\n",ans1,ans2);
    return 0;
}