#include <stdio.h>
int getShortLenght(int graph[100][100],int n)
{
int sum=0;
int set[100];
for(int i=1;i<n;i++)
{
set[i]=0;
}
int low[100];
set[1]=1;
for(int i=1;i<n;i++)
{
if(i!=1)
{
low[i]=graph[1][i];
}
}
for(int i=1;i<n;i++)
{
int min=0,minp=0;
for(int j=1;j<n;j++)
{
if(min!=0)
{
if(min>low[j]&&set[j]==0)
{
min=low[j];
minp=j;
}
}
else if(min==0)
{
if(set[j]==0)
{
min=low[j];
minp=j;
}
}
}
sum+=min;
set[minp]=1;
for(int i=1;i<n;i++)
{
if(set[i]==0&&low[i]>graph[minp][i])
{
low[i]=graph[minp][i];
}
}
}
printf("%d\n",sum);
return 1;
}
int main()
{
while(1)
{
int N=0;
scanf("%d",&N);
if(N==0)
{
break;
}
int graph[100][100];
for(int i=0;i<N*(N-1)/2;i++)
{
int v1,v2;
scanf("%d",&v1);
scanf("%d",&v2);
scanf("%d",&graph[v1][v2]);
graph[v2][v1]=graph[v1][v2];
}
getShortLenght(graph,N+1);
}
}
/**************************************************************
Problem: 2188
User: admin
Language: C
Result: Accepted
Time:15 ms
Memory:1144 kb
****************************************************************/