#include <bits/stdc++.h>
using namespace std;
const int N=5100;
int n,m,ans,g[N][N],minn[N];
bool vis[N];
int main()
{
std::ios::sync_with_stdio(0);
cin>>n>>m;
memset(minn,0x3f3f3f,sizeof(minn));
memset(vis,0,sizeof(vis));
memset(g,0x3f3f3f,sizeof(g));
for(int i=1;i<=m;i++){int u,v,w;cin>>u>>v>>w;g[u][v]=w;g[v][u]=w;}
int cat=0;
for(int i=1;i<=n;i++)
{
cat=0;
for(int j=1;j<=n;j++)
{
if(!vis[j]&&(minn[cat]>minn[j]))
{
cat=j;
}
}
vis[cat]=1;
for(int j=1;j<=n;j++)
{
if(!vis[j]&&(minn[j]>g[cat][j]))
{
minn[j]=g[cat][j];
}
}
}
for(int i=1;i<=n;i++)
{
ans+=minn[i];
}
cout<<ans;
return 0;
}