// //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;
}