import heapq
def huffman_min_length(n, frequencies):
# 使用优先队列(最小堆)来构建哈夫曼树
heapq.heapify(frequencies)
min_length = 0
while len(frequencies) > 1:
# 每次取出两个最小的频率
freq1 = heapq.heappop(frequencies)
freq2 = heapq.heappop(frequencies)
# 合并后的新频率
new_freq = freq1 + freq2
# 将新频率放回优先队列
heapq.heappush(frequencies, new_freq)
# 增加编码长度
min_length += new_freq
return min_length
# 输入处理
n = int(input())
frequencies = list(map(int, input().split()))
# 计算哈夫曼编码的最短长度
min_length = huffman_min_length(n, frequencies)
print(min_length)