#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("jocul.in");
ofstream fout("jocul.out");
const int MAXVAL = 50005;
int n;
int lengths[1005];
int dp[MAXVAL + 5];
int main() {
fin >> n;
int maxLen = 0;
for (int i = 1; i <= n; i++) {
fin >> lengths[i];
maxLen += lengths[i];
}
for (int i = 1; i <= n; i++) {
int len = lengths[i];
for (int j = maxLen / 2; j >= len; j--) {
dp[j] = max(dp[j], dp[j - len] + len);
}
}
fout << dp[maxLen / 2] << ' ' << maxLen - dp[maxLen / 2] << '\n';
return 0;
}