#include<bits/stdc++.h>
using namespace std;
#define MXN 110
#define MXM 110*55
int N, fa[MXN], ans;
struct T{
int a, b, c;
}t[MXM];
bool cmp(T t1,T t2)
{
return t1.c<t2.c;
}
int find(int r){
if(r != fa[r]) fa[r] = find(fa[r]);
return fa[r];
}
void merge(T &t){
int t1 = find(t.a);
int t2 = find(t.b);
if(t1 != t2){
fa[t1] = t2;
ans += t.c;
}
}
int main(){
int M;
while(scanf("%d", &N) == 1){
if(N == 0) break;
M = N*(N-1)/2;
for(int i = 1; i <= M; i++)
scanf("%d %d %d", &t[i].a, &t[i].b, &t[i].c);
sort(t+1, t+M+1,cmp);
for(int i = 1; i <= N; i++) fa[i] = i;
ans = 0;
for(int i = 1; i <= M; i++) merge(t[i]);
printf("%d\n", ans);
}
return 0;
}
09-15
09-15