#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define inf 999999
using namespace std;
int d[100], n, dis[100][100];
bool deleted[100], vis[100];
int main(){
int i, j;
while(scanf("%d", &n)!=EOF){
if(n == 0)
break;
memset(deleted, 0, sizeof(deleted));
memset(vis, 0, sizeof(vis));
for(i = 1; i <= n; i++){
d[i] = inf;
for(j = 1; j <= n; j++)
dis[i][j] = inf;
}
int a, b, c;
for(i = 1; i <= n*(n-1)/2; i++){
scanf("%d%d%d", &a, &b, &c);
dis[a][b] = dis[b][a] = min(dis[a][b], c);
}
vis[1] = 1;
d[1] = 0;
int ans = 0;
while(1){
int decide = -1;
for(i = 1; i <= n; i++)
if(vis[i] && !deleted[i]){
decide = i;
break;
}
if(decide == -1)
break;
for(i = 1; i <=n; i++){
if(!vis[i])
d[i] = min(d[i], dis[decide][i]);
}
int mm = inf;
int pos;
int flag = 0;
for(i = 1; i <= n; i++){
if(!vis[i] && mm>d[i]){
mm = d[i];
pos = i;
flag = 1;
}
}
if(flag == 1)
ans += mm;
vis[pos] = 1;
deleted[decide] = 1;
}
printf("%d\n", ans);
}
return 0;
}
12-20
11-08