import sys input = sys.stdin.readline enum = enumerate inf = 1001001001 MOD = 10**9 + 7 import collections as cl import itertools as it import random from bisect import bisect_right as bs_r def linput(ty=int, cvt=list): return cvt(map(ty,input().split())) def vinput(rep=1, ty=int, cvt=list): return cvt(ty(input().rstrip()) for _ in range(rep)) def drint(*v, **d): if 1: print(*v, **d, file=sys.stderr) def dist(x1,y1,x2,y2): return abs(x1-x2)+abs(y1-y2) #vD = [chr(ord("a")+i) for i in range(26)] vD = [(-1,0),(0,-1),(0,1),(1,0)] vT = "0123456789" def bye(res): sT = "No Yes".split() print(sT[res]) #exit(0) def main(): N, = linput() vA = linput() #N = 5 * 10**4 #vA = [1000,]*N res = 0 cnt = 0 vA.sort() vA.reverse() f = 0 loop = 0 while cnt < N: drint(loop, cnt, f, 2**f, res) res += f * sum(vA[cnt:cnt+2**f]) cnt += 2**f f += 1 loop += 1 if loop>1000: print("die");break #for vr in mR: # print(*vr, sep="") print(res) if __name__ == "__main__": main()