#include<bits/stdc++.h>
using namespace std;
int n,a[201],f[201][201],sum[201],num=INT_MAX;
void dfs(){
for(int l=2;l<=n;l++){
for(int i=1;i<=2*n-l+1;i++){
int j=i+l-1;
for(int k=i;k<=j-1;k++){
f[i][j]=min(f[i][j],f[i][k]+f[k+1][j]);
}
f[i][j]+=sum[j]-sum[i-1];
}
}
}
void bfs(){
for(int l=2;l<=n;l++){
for(int i=1;i<=2*n-l+1;i++){
int j=i+l-1;
for(int k=i;k<=j-1;k++){
f[i][j]=max(f[i][j],f[i][k]+f[k+1][j]);
}
f[i][j]+=sum[j]-sum[i-1];
}
}
}
int main(){
cin>>n;
memset(f,0x3f,sizeof f);
for(int i=1;i<=n;i++){
cin>>a[i];
a[i+n]=a[i];
f[i][i]=0;
}
for(int i=1;i<=2*n-1;i++){
sum[i]=sum[i-1]+a[i];
}
dfs();
for(int i=1;i<=n;i++){
num=min(num,f[i][i+n-1]);
}
cout<<num<<"\n";
num=0;
memset(f,0,sizeof f);
bfs();
for(int i=1;i<=n;i++){
num=max(num,f[i][i+n-1]);
}
cout<<num;
return 0;
}