# 1416 n=int(input()) a=list(map(int,input().split())) floor=0 cost=0 i=0 isOverN=False a.sort(reverse=True) while(True): for _ in range(2**floor): cost+=a[i]*floor i+=1 if i>=n: isOverN=True break floor+=1 if isOverN==True: break print(cost)