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 i in range(n): #iは始点
    for j in range(i+1,n): #jは終点
        l = [x for x in range(n)]
        l.remove(j)
        for x in itertools.permutations(l): #組み合わせを用いて経路を生成
            x = list(x)
            x.insert(0,i)
            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 == j: #終点に着いたらbreak
                    break
            if am[i][j] > d: #より短い経路をamに記録
                am[i][j] = d
                am[j][i] = d

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

print(ans)