#include<stdio.h>
#include<stdlib.h>
int m,n,N,A[10000];
int cmp(const void *a ,const void *b )
{
return *(int *)b-*(int *)a;
}
long int f()
{
int k,t;
long int sum=0,sum1=0;
qsort(A,n,sizeof(A[0]),cmp);
while(m>0)
{sum1=A[m]+A[m-1];
sum+=sum1;
m--; n--;
for(k=n-1;k>=0;k--)
if(A[k]<sum1)
{A[k+1]=A[k]; A[k]=sum1;}
else
break;
}
return sum;
}
int main()
{
int p;
scanf("%d",&N);
m=N-1,n=N;
for(p=0;p<N;p++)
scanf("%d",&A[p]);
printf("%ld",f());system("pause");
return 0;
}