#include<bits/stdc++.h>
using namespace std;
using ll = long long;
int m, n;
bool taken[10001];
vector<pair<int,int>> adj[10001];
void nhap() {
cin >> n >> m ;
for(int i = 0 ; i < m ; i++) {
int x, y, w;
cin >> x >> y >> w;
adj[x].push_back({y, w});
adj[y].push_back({x, w});
}
}
void Prim(int s) {
taken[s] = true;
priority_queue<pair<int,int>, vector<pair<int,int>>, greater<pair<int,int>>> Q;
for(auto it : adj[s]) {
int t = it.first;
if(!taken[t]) {
Q.push({it.second, t});
}
}
ll d = 0 , dem = 0 ;
while(!Q.empty()) {
// lay ra canh ngan nhat
pair<int,int> e = Q.top();
Q.pop();
int u = e.second;
int w = e.first;
if(!taken[u]) {
++dem;
d += w;
taken[u] = true;
for(auto it : adj[u]) {
if(!taken[it.first]) {
Q.push({it.second, it.first});
}
}
}
}
if(dem == n - 1) {
cout << d << endl;
}
else {
cout << "IMPOSSIBLE\n";
}
}
int main() {
nhap();
Prim(1);
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdXNpbmcgbGwgPSBsb25nIGxvbmc7CmludCBtLCBuOwpib29sIHRha2VuWzEwMDAxXTsKdmVjdG9yPHBhaXI8aW50LGludD4+IGFkalsxMDAwMV07Cgp2b2lkIG5oYXAoKSB7CiAgICBjaW4gPj4gbiA+PiBtIDsKICAgIGZvcihpbnQgaSA9IDAgOyBpIDwgbSA7IGkrKykgewogICAgICAgIGludCB4LCB5LCB3OwogICAgICAgIGNpbiA+PiB4ID4+IHkgPj4gdzsKICAgICAgICBhZGpbeF0ucHVzaF9iYWNrKHt5LCB3fSk7CiAgICAgICAgYWRqW3ldLnB1c2hfYmFjayh7eCwgd30pOwogICAgfQp9Cgp2b2lkIFByaW0oaW50IHMpIHsKICAgIHRha2VuW3NdID0gdHJ1ZTsKICAgIHByaW9yaXR5X3F1ZXVlPHBhaXI8aW50LGludD4sIHZlY3RvcjxwYWlyPGludCxpbnQ+PiwgZ3JlYXRlcjxwYWlyPGludCxpbnQ+Pj4gUTsKICAgIGZvcihhdXRvIGl0IDogYWRqW3NdKSB7CiAgICAgICAgaW50IHQgPSBpdC5maXJzdDsKICAgICAgICBpZighdGFrZW5bdF0pIHsKICAgICAgICAgICAgUS5wdXNoKHtpdC5zZWNvbmQsIHR9KTsKICAgICAgICB9CiAgICB9CiAgICBsbCBkID0gMCAsIGRlbSA9IDAgOwogICAgd2hpbGUoIVEuZW1wdHkoKSkgewogICAgICAgIC8vIGxheSByYSBjYW5oIG5nYW4gbmhhdAogICAgICAgIHBhaXI8aW50LGludD4gZSA9IFEudG9wKCk7CiAgICAgICAgUS5wb3AoKTsKICAgICAgICBpbnQgdSA9IGUuc2Vjb25kOwogICAgICAgIGludCB3ID0gZS5maXJzdDsKICAgICAgICBpZighdGFrZW5bdV0pIHsKICAgICAgICAgICAgKytkZW07CiAgICAgICAgICAgIGQgKz0gdzsKICAgICAgICAgICAgdGFrZW5bdV0gPSB0cnVlOwogICAgICAgICAgICBmb3IoYXV0byBpdCA6IGFkalt1XSkgewogICAgICAgICAgICAgICAgaWYoIXRha2VuW2l0LmZpcnN0XSkgewogICAgICAgICAgICAgICAgICAgIFEucHVzaCh7aXQuc2Vjb25kLCBpdC5maXJzdH0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgaWYoZGVtID09IG4gLSAxKSB7CiAgICAgICAgY291dCA8PCBkIDw8IGVuZGw7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBjb3V0IDw8ICJJTVBPU1NJQkxFXG4iOwogICAgfQp9CgppbnQgbWFpbigpIHsKICAgIG5oYXAoKTsKICAgIFByaW0oMSk7Cn0K