#include<iostream>
#include<cmath>
using namespace std;
int n,m,f[5001][5001],dis[5001],ans,x,y,z,v[5001],top;
bool s[5001];
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++)dis[i]=100000001;
for(int i=1;i<=m;i++){
cin>>x>>y>>z;
if(!f[x][y])f[x][y]=z;
else f[x][y]=min(f[x][y],z);
f[y][x]=f[x][y];
}
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(!f[i][j])f[i][j]=100000001;
s[1]=1,v[++top]=1;
for(int i=1;i<n;i++){
for(int j=1;j<=n;j++)
dis[j]=min(dis[j],f[v[i]][j]);
int maxn=100000001,num;
for(int j=1;j<=n;j++)
if(dis[j]<maxn&&!s[j])maxn=dis[j],num=j;
s[num]=1,v[++top]=num;
}
for(int i=2;i<=n;i++)ans+=dis[i];
cout<<ans;
return 0;
}