#include<iostream>

#define inf 1000000000

using namespace std;


int n,m;
int C[100][100];

int prim(){
	int from[100],now[100],visit[100];
	int ans=0;
	
	for(int i=0;i<100;i++){
		from[i]=visit[i]=0;
		now[i]=inf;
	}
	
	now[0]=0;
	from[0]=-1;
	
	while(1){
		int mini=inf,mino;
		for(int i=0;i<n;i++){
			if(visit[i]==1){
				continue;
			}
			if(mini>now[i]){
				mini=now[i];
				mino=i;
			}
		}
		
		if(mini==inf){
			break;
		}
		visit[mino]=1;
		
		if(from[mino]!=-1)
		ans+=C[mino][from[mino]];
		
		for(int i=0;i<n;i++){
			if(C[mino][i]==inf || visit[i]==1){
				continue;
			}
			if(now[i]>C[mino][i]){
				now[i]=C[mino][i];
				from[i]=mino;
			}
		}
	}
	
	return ans;
}

int main(){
	while(1){
		cin>>n>>m;
		if(n==0)break;
		for(int i=0;i<100;i++){
			for(int j=0;j<100;j++){
				C[i][j]=inf;
			}
		}
		
		for(int i=0;i<m;i++){
			int a,b,c;
			cin>>a>>b>>c;
			C[a][b]=C[b][a]=c;
		}
		
		printf("%d\n",prim());
	}
}