#include <bits/stdc++.h>
using namespace std;
typedef pair<int, int> P;
int main() {
ios_base::sync_with_stdio(false), cin.tie(0);
int n, m, u, v, bias;
vector<P> adj[10'001];
cin >> n >> m;
while(m--) {
cin >> u >> v >> bias;
if(u == v)
continue;
adj[u].push_back({bias, v});
adj[v].push_back({bias, u});
}
int cnt = 0, ans = 0, nxt;
vector<bool> isin(n + 1, 0);
priority_queue<P, vector<P>, greater<P>> pq;
isin[1] = true;
for(auto i : adj[1])
pq.push(i);
while(cnt < n - 1) {
bias = pq.top().first;
nxt = pq.top().second;
pq.pop();
if(isin[nxt])
continue;
cnt++;
isin[nxt] = true;
if(bias % 2)
ans += bias;
for(auto i : adj[nxt])
pq.push(i);
}
cout << ans;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0eXBlZGVmIHBhaXI8aW50LCBpbnQ+IFA7CgppbnQgbWFpbigpIHsKCWlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpLCBjaW4udGllKDApOwoJCglpbnQgbiwgbSwgdSwgdiwgYmlhczsKCXZlY3RvcjxQPiBhZGpbMTAnMDAxXTsKCQoJY2luID4+IG4gPj4gbTsKCXdoaWxlKG0tLSkgewoJCWNpbiA+PiB1ID4+IHYgPj4gYmlhczsKCQkKCQlpZih1ID09IHYpCgkJCWNvbnRpbnVlOwoJCQoJCWFkalt1XS5wdXNoX2JhY2soe2JpYXMsIHZ9KTsKCQlhZGpbdl0ucHVzaF9iYWNrKHtiaWFzLCB1fSk7Cgl9CgkKCWludCBjbnQgPSAwLCBhbnMgPSAwLCBueHQ7Cgl2ZWN0b3I8Ym9vbD4gaXNpbihuICsgMSwgMCk7Cglwcmlvcml0eV9xdWV1ZTxQLCB2ZWN0b3I8UD4sIGdyZWF0ZXI8UD4+IHBxOwoJCglpc2luWzFdID0gdHJ1ZTsKCWZvcihhdXRvIGkgOiBhZGpbMV0pCiAgICAgICAgcHEucHVzaChpKTsKCQkKCXdoaWxlKGNudCA8IG4gLSAxKSB7CgkJYmlhcyA9IHBxLnRvcCgpLmZpcnN0OwoJCW54dCA9IHBxLnRvcCgpLnNlY29uZDsKCQlwcS5wb3AoKTsKCQkKCQlpZihpc2luW254dF0pCgkJCWNvbnRpbnVlOwoJCQkKCQljbnQrKzsKCQlpc2luW254dF0gPSB0cnVlOwoJCQoJCWlmKGJpYXMgJSAyKQoJCQlhbnMgKz0gYmlhczsKCQkJCgkJZm9yKGF1dG8gaSA6IGFkaltueHRdKQogICAgICAgICAgICBwcS5wdXNoKGkpOwoJfQoJCgljb3V0IDw8IGFuczsKfQ==