#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; long long d[110][110]; int main() { int n, m; cin >> n >> m; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { if (i == j) d[i][j] = 0; else d[i][j] = 100000000000000000; } } for (int i = 0; i < m; i++) { int s, t; long long d1; cin >> s >> t >> d1; d[s][t] = min(d[s][t], d1); } for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { for (int k = 1; k <= n; k++) { if (d[j][i] != 100000000000000000 && d[i][k] != 100000000000000000) { d[j][k] = min(d[j][k], d[j][i] + d[i][k]); } } } } for (int i = 1; i <= n; i++) { long long ans = 0; for (int j = 1; j <= n; j++) { if (d[i][j] != 100000000000000000) { ans += d[i][j]; } } cout << ans << endl; } }