#include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int N, M; cin >> N >> M; vector> g(N); vector D(N); for (int i = 0; i < M; ++i) { int u, v; long long w; cin >> u >> v >> w; u--, v--; g[u].push_back(v); g[v].push_back(u); D[u] += w; D[v] += w; } vector used(N); long long ans2 = 0; for (int s = 0; s < N; ++s) { if (used[s]) continue; vector comp; queue q; q.push(s); used[s] = 1; while (!q.empty()) { int v = q.front(); q.pop(); comp.push_back(v); for (int to : g[v]) { if (used[to]) continue; used[to] = 1; q.push(to); } } vector a; for (int v : comp) a.push_back(D[v]); sort(a.begin(), a.end(), greater<>()); for (int i = 0; i < (int)a.size(); ++i) { if (i % 2 == 0) ans2 += a[i]; else ans2 -= a[i]; } } cout << ans2 / 2 << '\n'; }