// //KY178 搬水果
// #include <iostream>
// #include <algorithm>
// #include <cstring>
// #include <queue>
// using namespace std;
// int n, a[10005];
// int main()
// {
//     while(cin>>n){
//         if(n==0) break;
//         for(int i=1;i<=n;i++) cin>>a[i];
//         priority_queue<int,vector<int>,greater<int>>q;
//         sort(a+1,a+n+1);
//         for(int i=1;i<=n;i++) q.push(a[i]);
//         long long sum=0;
//         while(q.size()>1){
//             int x=q.top();
//             q.pop();
//             int y=q.top();
//             q.pop();
//             sum+=(x+y);
//             q.push(x+y);
//         }
//         cout<<sum<<"\n";
//     }
//     return 0;
// }
//KY178 搬水果
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int n, a[10005];
int main()
{
    while(cin>>n){
        if(n==0) break;
        for(int i=1;i<=n;i++) cin>>a[i];
        sort(a+1,a+n+1);
        long long sum=0;
        for(int i=2;i<=n;i++){
            a[i]+=a[i-1];
            sum+=a[i];
            sort(a+i,a+n+1);
        }
        cout<<sum<<"\n";
    }
    return 0;
}