#include<iostream>
#include<algorithm>
using namespace std;
struct Node {
int x;
int y;
int weight;
};
int root[100];
bool Compare(Node node1, Node node2) {
return node1.weight < node2.weight;
}
int Find(int x) {
while (x != root[x]) x = root[x];
return x;
}//查
void Union(int x, int y) {
int a = Find(x);
int b = Find(y);
root[a] = b;
}//并
void Init() {
for (int i = 0; i < 100; i++) root[i] = i;
}
int main() {
int n;
while (cin >> n) {
if (n == 0) break;
Init();
int num = n * (n - 1) / 2;
Node node[num];
for (int i = 0; i < num; i++) {
cin >> node[i].x >> node[i].y >> node[i].weight;
}
sort(node, node + num, Compare);
int sum = 0;
for (int i = 0; i < num; i++) {
int a = Find(node[i].x);
int b = Find(node[i].y);
if (a != b) {
Union(a, b);
sum += node[i].weight;
}
}
cout << sum << endl;
}
}