/*
分析:
第一次写prim,算半个模板吧。
注意不要人为的先把ans=E[0].len,万一读入的边的数量是0呢?血淋淋的WA啊……
2012-06-17
*/
#include"stdio.h"
#include"stdlib.h"
struct A
{
int a,b;
int len;
}E[4855];
int cmp(const struct A *a,const struct A *b)
{
return a->len-b->len;
}
int main()
{
int n;
int i;
int temp;
int ans;
int flag;
int hash[111];
while(scanf("%d",&n),n)
{
temp=n*(n-1)/2;
for(i=0;i<temp;i++) scanf("%d%d%d",&E[i].a,&E[i].b,&E[i].len);
qsort(E,temp,sizeof(E[0]),cmp);
for(i=1;i<=n;i++) hash[i]=1;
hash[E[0].a]=0;
ans=0;
for(i=0;i<temp;i++)
{
flag=hash[E[i].a]+hash[E[i].b];
if(flag==1)
{
ans+=E[i].len;
hash[E[i].a]=hash[E[i].b]=0;
i=0;
}
}
printf("%d\n",ans);
}
return 0;
}