#include<iostream>
#include<cstring>
using namespace std;
const int INF=1e9;
bool vst[5003];
int d[5003],g[5003][5003],n,m,ans=0;
void read(){
int x,y,w;
cin>>n>>m;
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j) g[i][j]=INF;
for(int i=1;i<=m;++i){
cin>>x>>y>>w;
g[x][y]=g[y][x]=w;
}
}
void prim(int v0){
int minn,k;
memset(vst,false,sizeof(vst));
for(int i=1;i<=n;++i) d[i]=INF;
d[v0]=0;
ans=0;
for(int i=1;i<=n;++i){
minn=INF;
for(int j=1;j<=n;++j)
if(vst[j]==0&&minn>d[j]){
minn=d[j];
k=j;
}
vst[k]=true;
ans+=d[k];
for(int j=1;j<=n;++j)
if(vst[j]==0&&d[j]>g[k][j]) d[j]=g[k][j];
}
}
int main(){
read();
prim(1);
cout<<ans<<endl;
return 0;
}
大佬指点,全WA