#include<stdio.h>
#include<stdlib.h>
int cmp(const void *a, const void*b)
{
return *(int *)a-*(int *)b;
}
void swap(int *x,int *y)
{
int t=*x;*x=*y;*y=t;
}
int main()
{
int n,i,j,s,ans=0,a[10005];
scanf("%d",&n);
for(i=0;i<n; i++)
scanf("%d",&a[i]);
qsort(a,n,sizeof(a[0]),cmp);
for(i=1;i<n;i++)
{
a[i]=a[i]+a[i-1];
ans+=a[i];
j=i;
while((a[j]>a[j+1])&&(j<n-1))
{
swap(&a[j],&a[j+1]);
j++;
}
}
printf("%d",ans);
return 0;
}
/**************************************************************
Problem: 2249
User: admin
Language: C
Result: Accepted
Time:226 ms
Memory:1144 kb
****************************************************************/