#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
struct edge{int u,v,cost;};
int parent[100];
int rank[100];

void init(int n)
{
	for(int i = 0; i < n; ++i)
	{
		parent[i]=i;
		rank[i]=0;
	}
}

int find(int x)
{
	if(parent[x]==x) return x;
	else return parent[x]=find(parent[x]);
}

void unit(int x,int y)
{
	x=find(x);
	y=find(y);
	if(x==y) return;

	if(rank[x]<rank[y])
	{
		parent[x]=y;
	}
	else
	{
		parent[y]=x;
		if(rank[x]==rank[y]) rank[x]++;
	}
}

bool same(int x,int y)
{
	return find(x)==find(y);
}

bool comp(const edge& e1, const edge& e2)
{
	return e1.cost<e2.cost;
}

int main()
{
	int n;
	while(cin>>n,n)
	{
		init(n);
		int m; cin>>m;
		edge es[m];
		for(int i = 0; i < m; ++i)
		{
			scanf("%d,%d,%d",&es[i].u,&es[i].v,&es[i].cost);
		}

		sort(es,es+m,comp);
		int ans=0;
		for(int i = 0; i < m; ++i)
		{
			edge e=es[i];
			if(!same(e.u,e.v))
			{
				unit(e.u,e.v);
				ans+=e.cost-100;
			}
		}
		cout<<ans/100<<endl;
	}
  return 0;
}