#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <queue>
#include <algorithm>
#include <cmath>
#define N 100000
using namespace std;
int n;
int a[N];
int cmp(const void *a,const void *b)
{
return *(int*)a-*(int*)b;
}
int main()
{
// int t;
// scanf("%d",&t);
// freopen("ex.in","r",stdin);
while(scanf("%d",&n)&&n)
{
queue<int> que;
for(int i=0; i<n; ++i)
scanf("%d",&a[i]);
qsort(a,n,sizeof(a[0]),cmp);
int i=0,sum=0,t=0,x[2];
// cout<<"----------"<<endl;
while(i<n||!que.empty())
{
if(que.empty()||(!que.empty()&&i<n&&a[i]<que.front()))
{
x[t]=a[i++];
}
else
{
x[t]=que.front();
que.pop();
}
if(t)
{
int temp=x[0]+x[1];
sum+=temp;
que.push(temp);
}
t=1-t;
}
printf("%d\n",sum);
}
return 0;
}