/*
qq:1239198605
ctgu_yyf
*/
#include<iostream>
#include<cstdio>
#include<string>
#include<vector>
#include<queue>
#include<stack>
#include<cstring>
#include<algorithm>
#include<cmath>
#define ll long long
using namespace std;
ll a[20005];
int main()
{
ios::sync_with_stdio(false);
int n;
while(cin>>n)
{
for(ll i=0;i<n;i++)
cin>>a[i];
ll ans=0;
while(n>1)
{
ll min1=0;
ll min2=1;
if(a[min1]>a[min2])
swap(min1,min2);
for(ll i=2;i<n;i++)
{
if(a[i]<a[min1])
{
min2=min1;
min1=i;
}
else if(a[i]<a[min2])
{
min2=i;
}
}
ll t=a[min1]+a[min2];
ans+=t;
//这一步妙啊 智商的差距 我原来怎么没想到 还傻逼的开数组
if(min1==n-1)
swap(min1,min2);
a[min1]=t;
a[min2]=a[n-1];
n--;
}
cout<<ans<<endl;
}
return 0;
}