#include<bits/stdc++.h>
using namespace std;
int n,fruit[100005],x,y,sum=0;
void siftdown(int x){
int t=x;
if(x*2+1<=n){
if(fruit[x*2+1]<fruit[x]){
if(fruit[x*2]<fruit[x*2+1]){
swap(fruit[x],fruit[x*2]);
t=x*2;
}
else{
swap(fruit[x],fruit[x*2+1]);
t=x*2+1;
}
}
}
else{
if(x*2<=n){
if(fruit[x*2]<fruit[x]){
swap(fruit[x],fruit[x*2]);
t=x*2;
}
}
}
if(x!=t){
siftdown(t);
}
return;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>fruit[i];
}
sort(fruit+1,fruit+n+1);
while(n>1){
x=fruit[1];
fruit[1]=fruit[n];
n--;
siftdown(1);
y=fruit[1];
sum+=x+y;
fruit[1]=x+y;
siftdown(1);
cout<<endl;
}
cout<<sum;
return 0;
}