#include <bits/stdc++.h>
using namespace std;
int n,a[301],dp_max[301][301],dp_min[301][301],s[301];
int main(){
cin >> n;
for(int i=1; i<=n; i++){
cin >> a[i];
a[i+n]=a[i];
}
for(int i=1;i<=n*2;i++) s[i]=s[i-1]+a[i];
for(int i=1; i<=n; i++){
for(int j=1; j<=n; j++){
if(i==j) dp_max[i][j]=0,dp_min[i][j]=0;
else dp_min[i][j]=2147483647,dp_max[i][j]=0;
}
}
int l=1,r=n;
while(r<=n*2){
int i1=l,j1=l+1,i2=l,j2=l+1;
while(j2<=r){
while(i1<=r&&j1<=r){
int j=j1,i=i1;
int sum=s[j]-s[i-1];
int l=j-1;
for(int k=i; k<=l; k++){
dp_min[i][j]=min(dp_min[i][j],sum+dp_min[i][k]+dp_min[k+1][j]);
dp_max[i][j]=max(dp_max[i][j],sum+dp_max[i][k]+dp_max[k+1][j]);
}
i1++,j1++;
i1=i2;
j2++;
j1=j2;
}
}
l++;
r++;
}
cout << dp_min[1][n*2] << endl << dp_max[1][n*2];
return 0;
}