# -*- coding: utf-8 -*-
"""
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0072
"""
import sys
from enum import Enum


class Mst(object):
    """ minimum spanning tree """
    INFINITY = 999999999
    class Status(Enum):
        """ ?????????????¨??????¶??? """
        white = 1  # ????¨????
        gray = 2  # ?¨???????
        black = 3  #?¨???????

    def __init__(self, nodes, data):
        self.num_of_pathes = len(data)
        self.color = [Mst.Status.white] * nodes  # ????????????????¨??????¶???
        self.M = self._make_matrix(nodes, data)
        self.d = [Mst.INFINITY] * nodes  #
        self.p = [-1] * nodes  # ????????????????????????????¨??????????

    def _make_matrix(self, nodes, data):
        """ ??£??\???????????????????????\?¶?(-1)????????????????????§(Mst.INFINITY)????????´?????? """
        m = [[Mst.INFINITY] * nodes for _ in range(nodes)]
        for d in data:
            m[d[0]][d[1]] = d[2]
            m[d[1]][d[0]] = d[2]
        return m


    def prim(self):
        """ ??????????????¢?????´?????????????????¨??????????°???¨?????¨????§?????????? """
        self.d[0] = 0  # ??????????????§d[i]???INFINITY??\???????????£???????????????d[0]??????????????§???d[0]??????????´¢???????§????????????¨?????????
        self.p[0] = -1  # d[0]?????????????????§????????????????????????

        while True:
            mincost = Mst.INFINITY
            for i in range(len(self.d)):  # V-T????±??????????????????????????????§????????????????°???????????????????
                if self.color[i] != Mst.Status.black and self.d[i] < mincost:
                    mincost = self.d[i]
                    u = i  # ?????????????????????????????????????????\???u??§??¢???????????????

            if mincost == Mst.INFINITY:  # ??¨??????V-T??????????????????????????¨????????§while???????????????
                break

            self.color[u] = Mst.Status.black  # ?????????u???T????±?????????´?????¶?????´??°
            for v in range(len(self.d)):  # v????????????????????????
                if self.color[v] != Mst.Status.black and self.M[u][v] != Mst.INFINITY:  # v???V-T??´ ?????? u??¨v?????????????????????
                    if self.M[u][v] < self.d[v]:  # ????????? u-v?????\?¶?????????????????????????????????´???
                        self.d[v] = self.M[u][v]  # v??????????°???????????????±?????´??°
                        self.p[v] = u  # u???v??????????????¨????????????
                        self.color[v] = Mst.Status.gray

        # ????°???¨?????¨????????????????????????????¨????
        results = []
        for i in range(len(self.p)):
            if self.p[i] != -1:
                results.append(self.M[i][self.p[i]]/100 - 1)
        return int(sum(results))



def main(args):
    while True:
        n = int(input())
        if n == 0:
            break
        m = int(input())
        pathes = []
        for _ in range(m):
            pathes.append([int(x) for x in input().split(',')])
        s = Mst(n, pathes)
        result = s.prim()
        print(result)



    # n = 4
    # pathes = [[0, 1, 1500], [0, 2, 2000], [1, 2, 600], [1, 3, 500]]
    # s = Mst(n, pathes)
    # result = s.prim()
    # print(result)




if __name__ == '__main__':
    main(sys.argv[1:])

Measured memory_bytes: 8740