local n, m = io.read("*n", "*n") local t = {} for i = 1, n do t[i] = {} for j = 1, n do t[i][j] = i == j and 0 or false end end local function update(i, j, c) if not t[i][j] or c < t[i][j] then t[i][j] = c end end for i = 1, m do local s, t, d = io.read("*n", "*n", "*n") update(s, t, d) end for k = 1, n do for i = 1, n do for j = 1, n do if t[i][k] and t[k][j] then update(i, j, t[i][k] + t[k][j]) end end end end for i = 1, n do local r = 0 for j = 1, n do if t[i][j] then r = r + t[i][j] end end print(r) end