#include<bits/stdc++.h>
using namespace std;
const int N=1e6+5;
vector <int> a;
int main() {
int n;
cin>>n;
int c;
//加入数据
for(int i=1; i<=n; ++i) {
cin>>c;
a.push_back(c);
}
int index;
int ans=0;
while(a.size()>1) {
int i=0;
int minx=0x3f3f3f3f3f;
while(i<a.size()-1) {
int tmp=a[i]+a[i+1];
if(tmp<minx) {
index=i;
minx=tmp;
}
++i;
}
a.erase(a.begin()+index);
a.erase(a.begin()+index);
a.push_back(minx);
ans+=minx;
}
cout<<max(ans,a[0])<<endl;
}