#include <stdio.h>
#include <stdlib.h>
int compare(const void *p1, const void *p2) {
int *a = (int*)p1;
int *b = (int*)p2;
return *a > *b ? 1 : -1;
}
int main() {
int n;
scanf("%d", &n);
int *p = (int*)malloc(n * sizeof(int));
for (int i = 0; i < n; i++) {
scanf("%d", &p[i]);
}
qsort(p, n, sizeof(int), compare);
long long sum = p[0];
int *d = (int*)malloc(n * sizeof(int));
for (int i = 1; i < n; i++) {
sum += p[i];
d[i - 1] = sum;
}
long long sum1 = 0;
for (int i = 0; i < n - 1; i++) {
sum1 += d[i];
}
printf("%lld", sum1);
return 0;
}