并查集记得初始化!!!
// luogu-judger-enable-o2
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int N=1e6,M=1e6;
int par[N];
struct edge{
int from,to,len;
bool operator<(const edge&v)const{
return len<v.len;
}
}G[M];
int find(int x)
{
return x==par[x]?x:par[x]=find(par[x]);
}
bool unite(int x,int y)
{
x=find(x);y=find(y);
if(x==y)return false;
par[x]=y;return true;
}
int main()
{
int n,m,i,j,k;
cin>>n>>m;
for(i=1;i<=n;i++)par[i]=i;
for(i=1;i<=m;i++){
cin>>G[i].from>>G[i].to>>G[i].len;
}
sort(G+1,G+1+m);
int cnt=0,ans=0;
for(i=1;i<=m;i++){
if(unite(G[i].from,G[i].to))
cnt++,ans+=G[i].len;
if(cnt==n-1)break;
}
if(cnt<n-1)cout<<"orz"<<endl;
else cout<<ans<<endl;
return 0;
}