#include<bits/stdc++.h>
#include<ext/pb_ds/assoc_container.hpp>
#include<ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;
const int N=1e2+2;
int n;
int p[N],q[N];
bool cmp(int a,int b){
return a>b;
}
int main(){
//加快读入
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin>>n;
for(int i=1;i<=n;i++){
cin>>p[i];
q[i]=p[i];
}
sort(p+1,p+n+1);
int ans1=0;
for(int i=1;i<n;i++){
ans1+=p[i+1]+p[i];
p[i+1]=p[i]+p[i+1];
p[i]=0;
for(int j=i+1;j<n;j++){
if(p[j]>p[j+1])swap(p[j],p[j+1]);
else break;
}
}
cout<<ans1<<endl;
int ans2=0;
sort(q+1,q+n+1,cmp);
for(int i=1;i<n;i++){
q[i+1]+=q[i];
ans2+=q[i+1];
}
cout<<ans2;
return 0;
}
//2087 10554