import itertools

n, m = map(int, input().split())

am = [[float("inf")] * n for x in range(n)] #隣接行列
al = [] #隣接リスト

for x in range(m):
    a, b, c = map(int, input().split())
    a -= 1
    b -= 1
    am[a][b] = c
    am[b][a] = c
    al.append([a,b,c])

for e in al: #e[0]は始点,e[1]は終点
    l = [x for x in range(n)]
    l.remove(e[0])
    for x in itertools.permutations(l): #順列を用いて経路xを生成
        x = list(x)
        x.insert(0,e[0])
        d = 0
        for y in range(len(x)-1): #ある経路の距離を計算
            d += am[x[y]][x[y+1]]
            if d == float("inf"): #存在しない経路でbreak
                break
            if y+1 == e[1]: #終点に着いたらbreak
                break
        if am[e[0]][e[1]] > d: #より短い経路をamに記録
            am[e[0]][e[1]] = d
            am[e[1]][e[0]] = d

ans = 0
for a, b, c in al: #辺の長さが最短経路よりも長ければカウント
    if am[a][b] < c:
        ans += 1

print(ans)