N,M = map(int,input().split()) INF = 10 ** 13 cost = [[INF] * N for _ in range(N)] for i in range(N): cost[i][i] = 0 for _ in range(M): s,t,d = map(int,input().split()) s -= 1 t -= 1 cost[s][t] = min(cost[s][t],d) for k in range(N): for i in range(N): for j in range(N): if cost[i][k]!=INF and cost[k][j]!=INF: cost[i][j] = min(cost[i][j], cost[i][k] + cost[k][j]) for i in range(N): for j in range(N): if cost[i][j] == INF: cost[i][j] = 0 print(sum(cost[i]))