#include<bits/stdc++.h>
using namespace std;
int n,m,ans,cnt;
struct node
{
int val,to;
};
vector <node> rank[5001];
bool sf[5001];
bool prim()
{
int minval=99999999,minto=99999999;
for(int i=0;i<n;i++)
if(sf[i])
for(int j=0;j<rank[i].size();j++)
{
if(minval>rank[i][j].val&&(!sf[rank[i][j].to]))
{
minval=rank[i][j].val;
minto=rank[i][j].to;
}
}
if(minval==99999999)
return 1;
else
{
sf[minto]=1;
ans+=minval;
cnt++;
}
}
int main()
{
cin>>n>>m;
int u,v,val;
for(int i=0;i<m;i++)
{
cin>>val>>u>>v;
rank[u][rank[u].size()].to=v;
rank[u][rank[u].size()].val=val;
rank[v][rank[v].size()].to=u;
rank[v][rank[v].size()].val=val;
}
sf[1]=1;
for(int i=0;i<n-1;i++)
{
if(prim())
{
cout<<"orz";
return 0;
}
}
if(cnt==n-1)
cout<<ans;
else
cout<<"orz";
return 0;
}
P3366