#include <bits/stdc++.h>
#define el '\n'
#define fi first
#define sec second
#define pb push_back
#define int long long
#define pii pair<int,int>
#define sz(v) (int)(v).size()
#define all(v) (v).begin(),(v).end()
#define FOR(i, a, b) for(int i = (a), _b = (b); i <= _b; i++)
#define REP(i, a, b) for(int i = (a), _b = (b); i >= _b; i--)
using namespace std;
const int INF = (int)1e18 + 462010;
const int MAX_N = 2e5;
const int LOG = 18;
struct Disjoint_Set_Union{
int leader[MAX_N + 5], rnk[MAX_N + 5];
void build(int n){
FOR(i, 1, n){
leader[i] = i;
rnk[i] = 1;
}
}
int get(int u){
if(u == leader[u]) return u;
return leader[u] = get(leader[u]);
}
void unite(int u, int v){
int x = get(u), y = get(v);
if(x == y) return;
if(rnk[x] < rnk[y]) swap(x, y);
rnk[x] += rnk[y];
leader[y] = leader[x];
}
bool is_joint(int u, int v){
return (leader[u] == leader[v]);
}
}dsu;
struct Edge{
int u, v, w, id;
bool operator < (const Edge &other) const{
return w < other.w;
}
};
vector<int> adj[MAX_N + 5];
bool in_mst[MAX_N + 5];
bool vst[MAX_N + 5];
int mst_sz;
vector<pii> g[MAX_N + 5];
Edge edges[MAX_N + 5];
int ans[MAX_N + 5];
int n, m;
namespace Lowest_Common_Ancestor{
int par[LOG + 5][MAX_N + 5], depth[MAX_N + 5];
int mini[LOG + 5][MAX_N + 5];
void dfs_lca(int u, int dad){
vst[u] = true;
for(int v : adj[u]) if(v != dad){
depth[v] = depth[u] + 1;
mini[0][v] = INF;
par[0][v] = u;
dfs_lca(v, u);
}
}
void build_lca(int n){
depth[0] = -1;
dfs_lca(1, -1);
FOR(j, 1, LOG) FOR(i, 1, n){
par[j][i] = par[j - 1][par[j - 1][i]];
mini[j][i] = INF;
}
}
}using namespace Lowest_Common_Ancestor;
void Input(){
cin >> n >> m;
FOR(i, 1, m){
int u, v, w;
cin >> u >> v >> w;
g[u].pb({v, w});
g[v].pb({u, w});
edges[i] = {u, v, w, i};
}
}
void kruskal(){
sort(edges + 1, edges + m + 1);
dsu.build(n);
FOR(i, 1, m){
int u = edges[i].u, v = edges[i].v;
int w = edges[i].w, id = edges[i].id;
if(dsu.get(u) != dsu.get(v)){
adj[u].pb(v);
adj[v].pb(u);
mst_sz += w;
in_mst[id] = true;
dsu.unite(u, v);
}
}
}
void Prepare(){
kruskal();
build_lca(n);
FOR(i, 1, m) if(!in_mst[edges[i].id]){
int u = edges[i].u, v = edges[i].v;
int w = edges[i].w;
if(depth[u] > depth[v]) swap(u, v);
REP(j, LOG, 0) if(depth[par[j][v]] >= depth[u]){
mini[j][v] = min(mini[j][v], w);
v = par[j][v];
}
if(u == v) continue;
REP(j, LOG, 0) if(par[j][u] != par[j][v]){
mini[j][u] = min(mini[j][u], w);
mini[j][v] = min(mini[j][v], w);
u = par[j][u];
v = par[j][v];
}
mini[0][u] = min(mini[0][u], w);
mini[0][v] = min(mini[0][v], w);
}
REP(j, LOG, 1) FOR(i, 1, n){
mini[j - 1][i] = min(mini[j - 1][i], mini[j][i]);
mini[j - 1][par[j - 1][i]] = min(mini[j - 1][par[j - 1][i]], mini[j][i]);
}
}
void Solve(){
FOR(u, 1, n) if(!vst[u]){
FOR(i, 1, m) cout << -1 << el;
return;
}
FOR(i, 1, m){
int u = edges[i].u, v = edges[i].v;
int w = edges[i].w, id = edges[i].id;
if(depth[u] > depth[v]) swap(u, v);
if(!in_mst[id]) ans[id] = mst_sz;
else if(mini[0][v] != INF) ans[id] = mst_sz - w + mini[0][v];
else ans[id] = -1;
}
FOR(i, 1, m) cout << ans[i] << el;
}
signed main(){
// freopen("silkroad.inp", "r", stdin);
// freopen("silkroad.out", "w", stdout);
ios_base::sync_with_stdio(0);
cin.tie(0);
Input();
Prepare();
Solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CgojZGVmaW5lIGVsICdcbicKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlYyBzZWNvbmQKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBpbnQgbG9uZyBsb25nCiNkZWZpbmUgcGlpIHBhaXI8aW50LGludD4KI2RlZmluZSBzeih2KSAoaW50KSh2KS5zaXplKCkKI2RlZmluZSBhbGwodikgKHYpLmJlZ2luKCksKHYpLmVuZCgpCiNkZWZpbmUgRk9SKGksIGEsIGIpIGZvcihpbnQgaSA9IChhKSwgX2IgPSAoYik7IGkgPD0gX2I7IGkrKykKI2RlZmluZSBSRVAoaSwgYSwgYikgZm9yKGludCBpID0gKGEpLCBfYiA9IChiKTsgaSA+PSBfYjsgaS0tKQoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGludCBJTkYgPSAoaW50KTFlMTggKyA0NjIwMTA7CmNvbnN0IGludCBNQVhfTiA9IDJlNTsKY29uc3QgaW50IExPRyA9IDE4OwoKc3RydWN0IERpc2pvaW50X1NldF9VbmlvbnsKICAgIGludCBsZWFkZXJbTUFYX04gKyA1XSwgcm5rW01BWF9OICsgNV07CgogICAgdm9pZCBidWlsZChpbnQgbil7CiAgICAgICAgRk9SKGksIDEsIG4pewogICAgICAgICAgICBsZWFkZXJbaV0gPSBpOwogICAgICAgICAgICBybmtbaV0gPSAxOwogICAgICAgIH0KICAgIH0KCiAgICBpbnQgZ2V0KGludCB1KXsKICAgICAgICBpZih1ID09IGxlYWRlclt1XSkgcmV0dXJuIHU7CiAgICAgICAgcmV0dXJuIGxlYWRlclt1XSA9IGdldChsZWFkZXJbdV0pOwogICAgfQoKICAgIHZvaWQgdW5pdGUoaW50IHUsIGludCB2KXsKICAgICAgICBpbnQgeCA9IGdldCh1KSwgeSA9IGdldCh2KTsKCiAgICAgICAgaWYoeCA9PSB5KSByZXR1cm47CiAgICAgICAgaWYocm5rW3hdIDwgcm5rW3ldKSBzd2FwKHgsIHkpOwoKICAgICAgICBybmtbeF0gKz0gcm5rW3ldOwogICAgICAgIGxlYWRlclt5XSA9IGxlYWRlclt4XTsKICAgIH0KCiAgICBib29sIGlzX2pvaW50KGludCB1LCBpbnQgdil7CiAgICAgICAgcmV0dXJuIChsZWFkZXJbdV0gPT0gbGVhZGVyW3ZdKTsKICAgIH0KfWRzdTsKCnN0cnVjdCBFZGdlewogICAgaW50IHUsIHYsIHcsIGlkOwoKICAgIGJvb2wgb3BlcmF0b3IgPCAoY29uc3QgRWRnZSAmb3RoZXIpIGNvbnN0ewogICAgICAgIHJldHVybiB3IDwgb3RoZXIudzsKICAgIH0KfTsKCnZlY3RvcjxpbnQ+IGFkaltNQVhfTiArIDVdOwpib29sIGluX21zdFtNQVhfTiArIDVdOwpib29sIHZzdFtNQVhfTiArIDVdOwppbnQgbXN0X3N6OwoKdmVjdG9yPHBpaT4gZ1tNQVhfTiArIDVdOwpFZGdlIGVkZ2VzW01BWF9OICsgNV07CmludCBhbnNbTUFYX04gKyA1XTsKaW50IG4sIG07CgpuYW1lc3BhY2UgTG93ZXN0X0NvbW1vbl9BbmNlc3RvcnsKICAgIGludCBwYXJbTE9HICsgNV1bTUFYX04gKyA1XSwgZGVwdGhbTUFYX04gKyA1XTsKICAgIGludCBtaW5pW0xPRyArIDVdW01BWF9OICsgNV07CgogICAgdm9pZCBkZnNfbGNhKGludCB1LCBpbnQgZGFkKXsKICAgICAgICB2c3RbdV0gPSB0cnVlOwogICAgICAgIGZvcihpbnQgdiA6IGFkalt1XSkgaWYodiAhPSBkYWQpewogICAgICAgICAgICBkZXB0aFt2XSA9IGRlcHRoW3VdICsgMTsKICAgICAgICAgICAgbWluaVswXVt2XSA9IElORjsKICAgICAgICAgICAgcGFyWzBdW3ZdID0gdTsKCiAgICAgICAgICAgIGRmc19sY2EodiwgdSk7CiAgICAgICAgfQogICAgfQoKICAgIHZvaWQgYnVpbGRfbGNhKGludCBuKXsKICAgICAgICBkZXB0aFswXSA9IC0xOwogICAgICAgIGRmc19sY2EoMSwgLTEpOwogICAgICAgIAogICAgICAgIEZPUihqLCAxLCBMT0cpIEZPUihpLCAxLCBuKXsKICAgICAgICAgICAgcGFyW2pdW2ldID0gcGFyW2ogLSAxXVtwYXJbaiAtIDFdW2ldXTsKICAgICAgICAgICAgbWluaVtqXVtpXSA9IElORjsKICAgICAgICB9CiAgICB9Cn11c2luZyBuYW1lc3BhY2UgTG93ZXN0X0NvbW1vbl9BbmNlc3RvcjsKCnZvaWQgSW5wdXQoKXsKICAgIGNpbiA+PiBuID4+IG07CiAgICBGT1IoaSwgMSwgbSl7CiAgICAgICAgaW50IHUsIHYsIHc7CiAgICAgICAgY2luID4+IHUgPj4gdiA+PiB3OwoKICAgICAgICBnW3VdLnBiKHt2LCB3fSk7CiAgICAgICAgZ1t2XS5wYih7dSwgd30pOwogICAgICAgIGVkZ2VzW2ldID0ge3UsIHYsIHcsIGl9OwogICAgfQp9Cgp2b2lkIGtydXNrYWwoKXsKICAgIHNvcnQoZWRnZXMgKyAxLCBlZGdlcyArIG0gKyAxKTsKICAgIGRzdS5idWlsZChuKTsKCiAgICBGT1IoaSwgMSwgbSl7CiAgICAgICAgaW50IHUgPSBlZGdlc1tpXS51LCB2ID0gZWRnZXNbaV0udjsKICAgICAgICBpbnQgdyA9IGVkZ2VzW2ldLncsIGlkID0gZWRnZXNbaV0uaWQ7CgogICAgICAgIGlmKGRzdS5nZXQodSkgIT0gZHN1LmdldCh2KSl7CiAgICAgICAgICAgIGFkalt1XS5wYih2KTsKICAgICAgICAgICAgYWRqW3ZdLnBiKHUpOwogICAgICAgICAgICBtc3Rfc3ogKz0gdzsKCiAgICAgICAgICAgIGluX21zdFtpZF0gPSB0cnVlOwogICAgICAgICAgICBkc3UudW5pdGUodSwgdik7CiAgICAgICAgfQogICAgfQp9Cgp2b2lkIFByZXBhcmUoKXsKICAgIGtydXNrYWwoKTsKICAgIGJ1aWxkX2xjYShuKTsKCiAgICBGT1IoaSwgMSwgbSkgaWYoIWluX21zdFtlZGdlc1tpXS5pZF0pewogICAgICAgIGludCB1ID0gZWRnZXNbaV0udSwgdiA9IGVkZ2VzW2ldLnY7CiAgICAgICAgaW50IHcgPSBlZGdlc1tpXS53OwoKICAgICAgICBpZihkZXB0aFt1XSA+IGRlcHRoW3ZdKSBzd2FwKHUsIHYpOwogICAgICAgIFJFUChqLCBMT0csIDApIGlmKGRlcHRoW3BhcltqXVt2XV0gPj0gZGVwdGhbdV0pewogICAgICAgICAgICBtaW5pW2pdW3ZdID0gbWluKG1pbmlbal1bdl0sIHcpOwogICAgICAgICAgICB2ID0gcGFyW2pdW3ZdOwogICAgICAgIH0KCiAgICAgICAgaWYodSA9PSB2KSBjb250aW51ZTsKICAgICAgICBSRVAoaiwgTE9HLCAwKSBpZihwYXJbal1bdV0gIT0gcGFyW2pdW3ZdKXsKICAgICAgICAgICAgbWluaVtqXVt1XSA9IG1pbihtaW5pW2pdW3VdLCB3KTsKICAgICAgICAgICAgbWluaVtqXVt2XSA9IG1pbihtaW5pW2pdW3ZdLCB3KTsKCiAgICAgICAgICAgIHUgPSBwYXJbal1bdV07CiAgICAgICAgICAgIHYgPSBwYXJbal1bdl07CiAgICAgICAgfQoKICAgICAgICBtaW5pWzBdW3VdID0gbWluKG1pbmlbMF1bdV0sIHcpOwogICAgICAgIG1pbmlbMF1bdl0gPSBtaW4obWluaVswXVt2XSwgdyk7CiAgICB9CgogICAgUkVQKGosIExPRywgMSkgRk9SKGksIDEsIG4pewogICAgICAgIG1pbmlbaiAtIDFdW2ldID0gbWluKG1pbmlbaiAtIDFdW2ldLCBtaW5pW2pdW2ldKTsKICAgICAgICBtaW5pW2ogLSAxXVtwYXJbaiAtIDFdW2ldXSA9IG1pbihtaW5pW2ogLSAxXVtwYXJbaiAtIDFdW2ldXSwgbWluaVtqXVtpXSk7CiAgICB9Cn0KCnZvaWQgU29sdmUoKXsKICAgIEZPUih1LCAxLCBuKSBpZighdnN0W3VdKXsKICAgICAgICBGT1IoaSwgMSwgbSkgY291dCA8PCAtMSA8PCBlbDsKICAgICAgICByZXR1cm47CiAgICB9CiAgICAKICAgIEZPUihpLCAxLCBtKXsKICAgICAgICBpbnQgdSA9IGVkZ2VzW2ldLnUsIHYgPSBlZGdlc1tpXS52OwogICAgICAgIGludCB3ID0gZWRnZXNbaV0udywgaWQgPSBlZGdlc1tpXS5pZDsKICAgICAgICBpZihkZXB0aFt1XSA+IGRlcHRoW3ZdKSBzd2FwKHUsIHYpOwoKICAgICAgICBpZighaW5fbXN0W2lkXSkgYW5zW2lkXSA9IG1zdF9zejsKICAgICAgICBlbHNlIGlmKG1pbmlbMF1bdl0gIT0gSU5GKSBhbnNbaWRdID0gbXN0X3N6IC0gdyArIG1pbmlbMF1bdl07CiAgICAgICAgZWxzZSBhbnNbaWRdID0gLTE7CiAgICB9CiAgICBGT1IoaSwgMSwgbSkgY291dCA8PCBhbnNbaV0gPDwgZWw7Cn0KCnNpZ25lZCBtYWluKCl7Ci8vICAgIGZyZW9wZW4oInNpbGtyb2FkLmlucCIsICJyIiwgc3RkaW4pOwovLyAgICBmcmVvcGVuKCJzaWxrcm9hZC5vdXQiLCAidyIsIHN0ZG91dCk7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTsKCiAgICBJbnB1dCgpOwogICAgUHJlcGFyZSgpOwogICAgU29sdmUoKTsKCiAgICByZXR1cm4gMDsKfQo=