#include<bits/stdc++.h>
using namespace std;
int m,n,pre[1010];
struct node{
int a,b,c;
}s[5050];
int cmp(node a,node b){
return a.c <b.c ;
}
void init(){
for(int i=1;i<=n;i++){
pre[i]=i;
}
}
int find(int x){
int r=x;
while(pre[r]!=r)
r=pre[r];
return r;
}
void un(int a,int b){
int x=find(a);
int y=find(b);
if(x==y) return;
else{
pre[x]=y;
}
}
int main()
{
int i,j,a,b,c;
while(scanf("%d",&n)!=EOF){
if(n==0) break;
init();
m=n*(n-1)/2;
for(i=1;i<=m;i++){
scanf("%d%d%d",&s[i].a ,&s[i].b ,&s[i].c );
}
sort(s+1,s+1+m,cmp);
int num=0;
for(i=1;i<=m;i++){
if(find(s[i].a )!=find(s[i].b )){
num+=s[i].c ;
un(s[i].a ,s[i].b );
}
}
printf("%d\n",num);
}
}
08-21
1109