#include <iostream>
#include <cstdio>
#include <limits.h>
using namespace std;
int dist[100][100]; //距離,道がないところはINF
int mincost[100];
bool used[100];
int n; //頂点数
//prim法
int prim(){
	for(int i=0;i<n;i++) mincost[i]=INT_MAX, used[i]=false;
	int res=0; mincost[0]=0;
	while(1){
		int v=-1;
		for(int u=0;u<n;u++) if(!used[u] && (v==-1 || mincost[u]<mincost[v])) v=u;
		if(v==-1) break;
		used[v]=true;
		res+=mincost[v];
		//距離の更新
		for(int u=0;u<n;u++) mincost[u]=min(mincost[u],dist[v][u]);
		for(int i=0;i<n;i++) cout << mincost[i] << ' '; cout << '\n' ;
	}
	return res;
}
int main() {
	int m;
	while(1){
		cin >> n ; if(!n) break;
		cin >> m ;
		for(int i=0;i<100;i++) for(int j=0;j<100;j++) dist[i][j]=INT_MAX;
		for(int i=0;i<m;i++){
			int st,fin,DIST; scanf("%d,%d,%d",&st,&fin,&DIST);
			dist[st][fin]=dist[fin][st]=DIST/100;
		}
		cout << prim()-(n-1) << '\n';
	}
}