#include <iostream>
#include <cmath>
#include<vector>
#define INF 1000000005
using namespace std;
int main()
{
int n,m,t;
cin >> n >> m;
vector<vector<int>> g(n+1,vector<int>(n+1,INF));
for(int i = 1; i <= m; i++)
{
int a,b,w;
cin >> a >> b >> w;
g[a][b] = w;
g[b][a] = w;
}
vector<int> d = g[1];
int res = 0;
vector<bool> v(n+1, false);
v[1] = true;
for(int i = 1; i < n; i++)
{
int min = INF+1;
for(int j = 1; j <= n; j++)
{
if(!v[j] && d[j] < min)
{
t = j;
min = d[j];
}
}
res += min;
v[t] = true;
for(int j = 1; j <= n; j++)
{
if(!v[j] && g[t][j] < d[j])
{
d[j] = g[t][j];
}
}
}
cout << res;
return 0;
}