#include<iostream>
#include<string>
#include<set>
using namespace std;
void read(int &x){
int f=1;x=0;char s=getchar();
while(s<'0'||s>'9'){if(s=='-')f=-1;s=getchar();}
while(s>='0'&&s<='9'){x=x*10+s-'0';s=getchar();}
x*=f;
}
signed main()
{
long long a,b,j,i,sum=0;
int n,c;
multiset<long long> bg;
read(n);
for (i=1;i<=n;i++)
{
read(c);
bg.insert(c);
}
while(1)
{
a=*bg.begin()+(*(++bg.begin()));
bg.erase(bg.begin());
bg.erase(bg.begin());
bg.insert(a);
sum=sum+a;
n--;
if (n==1)
{
printf("%lld" , sum);
break;
}
}
return 0;
}