def Floyd_Warshall(dist,num_of_vertices): for k in range(num_of_vertices): for i in range(num_of_vertices): for j in range(num_of_vertices): dist[i][j] = min(dist[i][j], dist[i][k]+ dist[k][j]) n,m,*std = map(int,open(0).read().split()) INF = 1<<60 g = [[INF]*n for _ in range(n)] for i in range(n): g[i][i] = 0 for i in range(m): i *= 3 g[std[i]-1][std[i+1]-1] = min(g[std[i]-1][std[i+1]-1], std[i+2]) Floyd_Warshall(g,n) for i in range(n): ans = 0 for j in range(n): if g[i][j] < INF/10: ans += g[i][j] print(ans)