#include using namespace std; #define REP(i,n) for(int i=0; i<(int)(n); i++) const long long INF = 1LL<<60; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n, m; cin >> n >> m; vector > g(n, vector(n, INF)); for (int i = 0; i < n; i++) g[i][i] = 0; for (int i = 0; i < m; i++) { int s, t; long long d; cin >> s >> t >> d; --s, --t; g[s][t] = min(g[s][t], d); } for (int k = 0; k < n; k++) for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) g[i][j] = min(g[i][j], g[i][k] + g[k][j]); for (int i = 0; i < n; i++) { long long ret = 0; for (int j = 0; j < n; j++) if (g[i][j] < INF) ret += g[i][j]; cout << ret << endl; } return 0; }