//14
#include<iostream>
#include<algorithm>
#include<numeric>

using namespace std;

int main(){
  for(int n,m;cin>>n>>m,n|m;){
    int d[100][100];
    fill_n(d[0],10000,1<<29);
    for(int i=0;i<m;i++){
      int a,b,c;
      cin>>a>>b>>c;
      d[a][b]=d[b][a]=c;
    }
    int ds[100];
    fill_n(ds,100,1<<29);
    ds[0]=0;
    bool u[100]={};
    for(int i=0;i<n-1;i++){
      int m=1<<29;
      int v;
      for(int i=0;i<n;i++){
	if(!u[i]&&ds[i]<m){
	  m=ds[i];
	  v=i;
	}
      }
      u[v]=true;
      for(int i=0;i<n;i++){
	if(!u[i]){
	  ds[i]=min(ds[i],d[v][i]);
	}
      }
    }
    cout<<accumulate(ds,ds+n,0)<<endl;
  }
  return 0;
}