#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,dp_max[220][220],dp_min[220][220],summ[220],a[220],ans=0,r,l;
int ans_max,ans_min;
signed main(){
memset(dp_min,0x3f,sizeof(dp_min));
memset(dp_max,0,sizeof(dp_max));
cin>>n;
summ[0]=0;
for(int i=1;i<=n;++i){
cin>>a[i];
a[i+n]=a[i];
}
for(int i=1;i<=2*n;++i){
summ[i]=summ[i-1]+a[i];
dp_max[i][i]=dp_min[i][i]=0;
}
for(int i=2;i<=n;++i){//长度
for(int j=1;j<=2*n-i+1;++j){//起始点
int endd=i+j-1;
for(int k=j;k<endd;++k){
dp_max[j][endd]=max(dp_max[j][k]+dp_max[k+1][endd],dp_max[j][endd]);
dp_min[j][endd]=min(dp_min[j][k]+dp_min[k+1][endd],dp_min[j][endd]);
}
dp_max[j][endd]+=(summ[endd]-summ[j-1]);
dp_min[j][endd]+=(summ[endd]-summ[j-1]);
}
}
ans_max=-1,ans_min=0x3f;
for(int i=1;i<=n;++i){
ans_max=max(ans_max,dp_max[i][i+n-1]);
ans_min=min(ans_min,dp_min[i][i+n-1]);
}
cout<<ans_min<<endl<<ans_max;
return 0;
}