#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric> 

using namespace std;

// кладем минимум из оставшихся в ту кучку, чтобы разница между кучками была минимальна
// тогда не должен будет пройти тест 1 9 10
int main() 
{
    int n;
    cin >> n;

    vector<unsigned long long> a(n);  
    unsigned long long sum = 0;
    
    for (int i = 0; i < n; ++i)
    {
        cin >> a[i];
        sum += a[i];
    }

    std::sort(a.begin(), a.end()); 
    
    unsigned long long minS = a[0] * (sum - a[0]);
    
    unsigned long long L = 0, R = 0;
    for (int i = 0; i < n; ++i)
    {
        if (L < R) L += a[i];
        else R += a[i];
    }
    
    unsigned long long maxS = L * R;
    
    L = 0, R = 0;
    for (int i = n - 1; i >= 0; --i)
    {
        if (L < R) L += a[i];
        else R += a[i];
    }
    
    if (maxS < L * R)
      maxS = L * R;
    
    cout << minS << ' ' << maxS << endl;

    return 0;
}
