#include<bits/stdc++.h>
using namespace std;
long long num=0;
long long n,ans=0;
int t[100005];
long long huachuan()
{
if(n==1)
{
num+=t[1];
return num;
}
else if(n==2)
{
num+=t[2];
return num;
}
else if(n==3)
{
num+=t[2]+t[1]+t[3];
return num;
}
else
{
num+=t[1]+2*t[2]+t[n];
n-=2;
}
return huachuan();
}
bool cmp(long long a1,long long a2)
{
return a1<a2;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>t[i];
sort(t+1,t+n+1,cmp);
if(t[1]+t[n-1]<2*t[2])
{
for(int i=2;i<=n;i++)
ans+=t[i];
if(n>2) ans+=(n-2)*t[1];
}
else ans=huachuan();
cout<<ans;
return 0;
}