#include #include #define rep(i, a, b) for (ll i = (ll)(a); i < (ll)(b); i++) using namespace atcoder; using namespace std; typedef long long ll; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n, m; cin >> n >> m; vector> edges; rep(i, 0, m) { int a, b, c; cin >> a >> b >> c; edges.emplace_back(c, a - 1, b - 1); } sort(edges.rbegin(), edges.rend()); ll ans = 0; dsu uf(n); for (auto [c, a, b] : edges) { if (uf.same(a, b)) continue; uf.merge(a, b); ans += c; } cout << ans * 2 << '\n'; }