#include #include #ifdef LOCAL #include #define debug(...) debug_print::multi_print(#__VA_ARGS__, __VA_ARGS__) #else #define debug(...) (static_cast(0)) #endif using namespace atcoder; using mint=modint1000000007; using namespace std; using ll=long long; using ul=unsigned long long; int dx[8] = {1, 0, -1, 0, -1, -1, 1, 1}; int dy[8] = {0, 1, 0, -1, -1, 1, -1, 1}; using Graph=vector>; int main(){ int N,M; cin>>N>>M; vector>T(M); for(auto&[c,a,b]:T)cin>>a>>b>>c,a--,b--; sort(T.rbegin(),T.rend()); ll ans=0; dsu uf(N); for(auto[c,a,b]:T){ if(!uf.same(a,b))ans+=c,uf.merge(a,b); } cout<