#include<bits/stdc++.h>
using namespace std;
struct peaple
{
long long tl;//装载每堆果子所消耗的体力
}a[100000000];
bool camp(peaple a,peaple b)
{
return a.tl<b.tl;
}
long long b,c,ztl=0;//ztl用于储存总共体力的消耗 ,b是果子堆数
int main()
{
cin>>b;
for(c=1;c<=b;c++)cin>>a[c].tl;//重量==消耗的体力
sort(a+1,a+b+1,camp);
for(c=2;c<=b;c++)
{
//cout<<"a["<<c<<"].zl="<<a[c].tl;
a[c].tl=a[c-1].tl+a[c].tl;
//第c堆果子体力的消耗=前一堆果子的消耗+当前的果子的重量;
ztl+=a[c].tl;//
if(a[c].tl>a[c+1].tl)sort(a+c,a+b+1,camp);
//cout<<" a["<<c<<"].tl="<<a[c].tl<<" ztl="<<ztl<<endl;//调试的代码;
}
cout<<ztl;
}