#include<bits/stdc++.h> #define int long long usingnamespace std; structedge { int v, w; }; vector<edge> G[200005]; int ans[200005]; bool visited[200005]; int n, m; voidsolve(int i, int num) { ans[i] = num; visited[i] = true; for (auto x : G[i]) { if (visited[x.v]) continue; visited[x.v] = true; solve(x.v, x.w + num); } return; } signedmain() { cin >> n >> m; for (int i = 1; i <= m; i++) { int u, v, w; cin >> u >> v >> w; G[u].push_back({v, w}); G[v].push_back({u, -w}); } solve(1, 0); for (int i = 2; i <= n; i++) { if (!visited[i]) solve(i, 0); } for (int i = 1; i <= n; i++) cout << ans[i] << " "; }