#include<iostream>
#include<queue>
using namespace std;
int main()
{
int n;
cin>>n;
priority_queue<int,vector<int>,greater<int> >a;
priority_queue<int>b;
for(int i=0;i<n;i++)
{
int p;
cin>>p;
a.push(p);
b.push(p);
}
int min=0;
int max=0;
while(a.size()!=1)
{
int x1=a.top();
a.pop();
int y1=a.top();
a.pop();
min+=x1+y1;
a.push(x1+y1);
int x2=b.top();
b.pop();
int y2=b.top();
b.pop();
max+=x2+y2;
b.push(x2+y2);
}
cout<<min<<endl<<max;
return 0;
}