Quickly after finishing the tutorial of the online game _ATChat_ , you have decided to visit a particular place with N-1 players who happen to be there. These N players, including you, are numbered 1 through N, and the **friendliness** of Player i is A_i.  The N players will arrive at the place one by one in some order. To make sure nobody gets lost, you have set the following rule: players who have already arrived there should form a circle, and a player who has just arrived there should cut into the circle somewhere.  When each player, except the first one to arrive, arrives at the place, the player gets **comfort** equal to the smaller of the friendliness of the clockwise adjacent player and that of the counter-clockwise adjacent player. The first player to arrive there gets the comfort of 0.  What is the maximum total comfort the N players can get by optimally choosing the order of arrivals and the positions in the circle to cut into?
# -*- coding: utf-8 -*-
"""
Created on Sun Jul  5 22:49:34 2020

@author: Aruto Hosaka
"""


N = int(input())
A = list(map(int,input().split()))
A = sorted(A,reverse = True)
count = 0
count += A[0]
if N % 2 == 1:
    for n in range(1,(N-1)//2):
        count += 2*A[n]
        count += A[N//2]
else:
    for n in range(1,N//2):
        count += 2*A[n]    
# -*- coding: utf-8 -*-
"""
Created on Sun Jul  5 22:49:34 2020

@author: Aruto Hosaka
"""


N = int(input())
A = list(map(int,input().split()))
A = sorted(A,reverse = True)

count = A[0]
if N % 2 == 1:
    for n in range(1,(N-1)//2):
        count += 2*A[n]
    count += A[N//2]
else:
    for n in range(1,N//2):
        count += 2*A[n]
print(count)