#include<bits/stdc++.h>
using namespace std;
int n,m,s,e;
const int N=1e5;
struct date
{
int w1,w2,w3;
bool operator < (const struct date &M)const
{
return w3<M.w3;
}
}arr[N];
int p[N];
int afind(int x)
{
if(p[x]!=x) p[x]=afind(p[x]);
return p[x];
}
int main()
{
int i,j,k;
while(cin>>n>>m)
{
int res=0;
for(i=1;i<=n;i++)
{
p[i]=i;
}
if(m==0)
{
cout<<'0'<<'\n';
}
else
{
for(i=0;i<m;i++)
{
int x1,x2,x3;
cin>>x1>>x2>>x3;
arr[i].w1=x1;
arr[i].w2=x2;
arr[i].w3=x3;
}
sort(arr,arr+m);
for(i=0;i<m;i++)
{
int a1,a2,a3;
a1=arr[i].w1;
a2=arr[i].w2;
a3=arr[i].w3;
if(afind(a1)!=afind(a2))
{
p[afind(a1)]=afind(a2);
res+=a3;
}
}
cout<<res<<'\n';
}
}
return 0;
}