#include<algorithm>
using namespace std;
long long int ans=0;
int n;
int a[10010];
int f[10010];
int p;
void build()
{
p=n;
}
void out()
{
a[1]=a[p];
p--;
int q=1;
while(q*2<=p)
{
if(q*2+1<=p)
{
if(a[q*2+1]<a[q]&&a[q*2+1]<a[q*2])
{
swap(a[q*2+1],a[q]);
q=q*2+1;
}
else if(a[q*2]<a[q]&&a[q*2]<a[q*2+1])
{
swap(a[q*2],a[q]);
q*=2;
}
else
break;
}
else
{
if(a[q*2]<a[q])
{
swap(a[q*2],a[q]);
q*=2;
}
else
break;
}
}
}
void update()
{
int q=1;
while(q*2<=p)
{
if(q*2+1<=p)
{
if(a[q*2+1]<a[q]&&a[q*2+1]<a[q*2])
{
swap(a[q*2+1],a[q]);
q=q*2+1;
}
else if(a[q*2]<a[q]&&a[q*2]<a[q*2+1])
{
swap(a[q*2],a[q]);
q*=2;
}
else
break;
}
else
{
if(a[q*2]<a[q])
{
swap(a[q*2],a[q]);
q*=2;
}
else
break;
}
}
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
sort(a+1,a+n+1);
build();
for(int i=0;i<n-1;i++)
{
int t=a[1];
out();
a[1]+=t;
//cout<<a[1]<<endl;
ans+=a[1];
//cout<<ans<<endl;
update();
}
cout<<ans<<endl;
//system("pause");
return 0;
}