#include <bits/stdc++.h>
using namespace std;
int n, m, a[105], s[105], f1[305][305], f2[305][305], ans1 = 10000000, ans2;
int sum(int l, int r){
return s[r]- s[l - 1];
}
int main(){
cin >> n;
for(int i = 1; i <= n; i++){
cin >> a[i];
}
for(int i = 1; i <= n; i++){
s[i] = s[i - 1] + a[i];
}
a[0] = a[n];
a[2 * n + 1] = a[1];
for(int i = 0; i <= 2 * n + 1; i++){
f1[i][i] = a[i];
f2[i][i] = a[i];
}
for(int len = 2; len <= n; len++){
for(int i = 1; i + len - 1 <= 2 * n; i++){
int j = i + len - 1;
f1[i][j] = 10000000;
for(int k = i; k <= j - 1; k++){
f1[i][j] = min(f1[i][j], f1[i][k] + f1[k + 1][j] + sum(i, j));
}
}
}
for(int len = 2; len <= n; len++){
for(int i = 1; i + len - 1 <= 2 * n; i++){
int j = i + len - 1;
for(int k = i + 1; k <= j - 1; k++){
f2[i][j] = max(f2[i][j], f2[i][k] + f2[k + 1][j] + sum(i, j));
}
}
}
for(int i = 1; i < n; i++){
if(f1[i][i + n]){
ans1 = min(ans1, f1[i][i + n]);
}
}
for(int i = 1; i < n; i++){
ans2 = max(ans2, f2[i][i + n]);
}
cout << ans1 << endl << ans2 << endl;
return 0;
}