# 1715 / 그리디 알고리즘

from queue import PriorityQueue
N = int(input())
pq = PriorityQueue()
for _ in range(N):
card = int(input())
pq.put(card)
get1 = 0
get2 = 0
sum = 0
while pq.qsize() > 1 :
get1 = pq.get()
get2 = pq.get()
temp = get1 + get2
sum += temp
pq.put(temp)
print(sum)
from heapq import heapify, heappop, heappush
N = int(input())
A = []
for _ in range(N):
card = int(input())
heappush(A, card)
heapify(A)
sum = 0
while len(A)>1:
pop1 = heappop(A)
pop2 = heappop(A)
temp = pop1 + pop2
sum += temp
heappush(A, temp)
print(sum)