#include <bits/stdc++.h>
using namespace std;
int n,a[210];
int sum[210];
int minn=INT_MAX,maxn;
int dp1[210][210],dp2[210][210],cut1[210][210],cut2[210][210];
signed main() {
cin>>n;
memset(dp1,0x3f,sizeof(dp1));
for(int i=1;i<=n;i++){
cin>>a[i];
sum[i]=sum[i-1]+a[i];
dp1[i][i]=0;
cut1[i][i]=i;cut2[i][i]=i;
}
for(int i=n+1;i<=n+n;i++){
a[i]=a[i-n];
sum[i]=sum[i-1]+a[i];
dp1[i][i]=0;
cut1[i][i]=i;cut2[i][i]=i;
}
n*=2;
for(int len=2;len<=n;len++){
for(int i=1;i<=n;i++){
int j=i+len-1;
for(int k=cut1[i][j-1];k<=cut1[i+1][j];k++){
if(dp1[i][j]>dp1[i][k]+dp1[k+1][j]+sum[j]-sum[i-1]){
dp1[i][j]=dp1[i][k]+dp1[k+1][j]+sum[j]-sum[i-1];
cut1[i][j]=k;
}
}
}
}
for(int len=2;len<=n;len++){
for(int i=1;i<=n;i++){
int j=i+len-1;
for(int k=cut2[i][j-1];k<cut2[i+1][j];k++){
if(dp2[i][j]<dp2[i][k]+dp2[k+1][j]+sum[j]-sum[i-1]){
dp2[i][j]=dp2[i][k]+dp2[k+1][j]+sum[j]-sum[i-1];
cut2[i][j]=k;
}
}
}
}
n/=2;
for(int i=1;i<=n+1;i++){
minn=min(minn,dp1[i][i+n-1]);
maxn=max(maxn,dp2[i][i+n-1]);
}
cout<<minn<<'\n'<<maxn;
return 0;
}