#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
#define MN 100005
#define MM 200005
struct Edge {
int a, b, w, idx;
} e[MM];
int n, m, par[MN];
long long Gi[MM];
inline bool cmp(Edge e1, Edge e2) {
return e1.w < e2.w;
}
int fnd(int x) {
if (x == par[x]) return x;
return (par[x] = fnd(par[x]));
}
char chk[MM];
vector <int> vx[MN], vi[MN];
int pp[MN], dep[MN], pv[MN];
void f(int x, int pa) {
for (int i = 0; i < vx[x].size(); i++) {
int node = vx[x][i];
if (node != pa) {
dep[node] = dep[x] + 1;
pp[node] = x; pv[node] = vi[x][i];
f(node, x);
}
}
}
int main() {
scanf("%d%d", &n, &m);
for (int i = 1; i <= n; i++) par[i] = i;
for (int i = 1; i <= m; i++) {
scanf("%d%d%d", &e[i].a, &e[i].b, &e[i].w);
e[i].idx = i; Gi[i] = -1;
}
sort(e + 1, e + m + 1, cmp);
int mst = 0;
long long S = 0;
for (int i = 1; i <= m; i++) {
int x = fnd(e[i].a), y = fnd(e[i].b);
if (x != y) {
mst++;
chk[e[i].idx] = 1;
par[x] = y;
vx[e[i].a].push_back(e[i].b); vi[e[i].a].push_back(i);
vx[e[i].b].push_back(e[i].a); vi[e[i].b].push_back(i);
S += e[i].w;
}
}
if (mst == n - 1) {
f(1, 0);
for (int i = 1; i <= n; i++) par[i] = i;
for (int i = 1; i <= m; i++) {
if (chk[e[i].idx]) continue;
Gi[e[i].idx] = S;
int x = fnd(e[i].a), y = fnd(e[i].b), t;
while (x != y) {
if (dep[x] < dep[y]) t = x, x = y, y = t;
Gi[e[pv[x]].idx] = S - e[pv[x]].w + e[i].w;
par[x] = pp[x];
x = fnd(x);
}
}
}
for (int i = 1; i <= m; i++) printf("%lld\n", Gi[i]);
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGFsZ29yaXRobT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBNTiAxMDAwMDUKI2RlZmluZSBNTSAyMDAwMDUKc3RydWN0IEVkZ2UgewoJaW50IGEsIGIsIHcsIGlkeDsKfSBlW01NXTsKaW50IG4sIG0sIHBhcltNTl07CmxvbmcgbG9uZyBHaVtNTV07CmlubGluZSBib29sIGNtcChFZGdlIGUxLCBFZGdlIGUyKSB7CglyZXR1cm4gZTEudyA8IGUyLnc7Cn0KaW50IGZuZChpbnQgeCkgewoJaWYgKHggPT0gcGFyW3hdKSByZXR1cm4geDsKCXJldHVybiAocGFyW3hdID0gZm5kKHBhclt4XSkpOwp9CmNoYXIgY2hrW01NXTsKdmVjdG9yIDxpbnQ+IHZ4W01OXSwgdmlbTU5dOwppbnQgcHBbTU5dLCBkZXBbTU5dLCBwdltNTl07CnZvaWQgZihpbnQgeCwgaW50IHBhKSB7Cglmb3IgKGludCBpID0gMDsgaSA8IHZ4W3hdLnNpemUoKTsgaSsrKSB7CgkJaW50IG5vZGUgPSB2eFt4XVtpXTsKCQlpZiAobm9kZSAhPSBwYSkgewoJCQlkZXBbbm9kZV0gPSBkZXBbeF0gKyAxOwoJCQlwcFtub2RlXSA9IHg7IHB2W25vZGVdID0gdmlbeF1baV07CgkJCWYobm9kZSwgeCk7CgkJfQoJfQp9CmludCBtYWluKCkgewoJc2NhbmYoIiVkJWQiLCAmbiwgJm0pOwoJZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSBwYXJbaV0gPSBpOwoJZm9yIChpbnQgaSA9IDE7IGkgPD0gbTsgaSsrKSB7CgkJc2NhbmYoIiVkJWQlZCIsICZlW2ldLmEsICZlW2ldLmIsICZlW2ldLncpOwoJCWVbaV0uaWR4ID0gaTsgR2lbaV0gPSAtMTsKCX0KCXNvcnQoZSArIDEsIGUgKyBtICsgMSwgY21wKTsKCWludCBtc3QgPSAwOwoJbG9uZyBsb25nIFMgPSAwOwoJZm9yIChpbnQgaSA9IDE7IGkgPD0gbTsgaSsrKSB7CgkJaW50IHggPSBmbmQoZVtpXS5hKSwgeSA9IGZuZChlW2ldLmIpOwoJCWlmICh4ICE9IHkpIHsKCQkJbXN0Kys7CgkJCWNoa1tlW2ldLmlkeF0gPSAxOwoJCQlwYXJbeF0gPSB5OwoJCQl2eFtlW2ldLmFdLnB1c2hfYmFjayhlW2ldLmIpOyB2aVtlW2ldLmFdLnB1c2hfYmFjayhpKTsKCQkJdnhbZVtpXS5iXS5wdXNoX2JhY2soZVtpXS5hKTsgdmlbZVtpXS5iXS5wdXNoX2JhY2soaSk7CgkJCVMgKz0gZVtpXS53OwoJCX0KCX0KCWlmIChtc3QgPT0gbiAtIDEpIHsKCQlmKDEsIDApOwoJCWZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgcGFyW2ldID0gaTsKCQlmb3IgKGludCBpID0gMTsgaSA8PSBtOyBpKyspIHsKCQkJaWYgKGNoa1tlW2ldLmlkeF0pIGNvbnRpbnVlOwoJCQlHaVtlW2ldLmlkeF0gPSBTOwoJCQlpbnQgeCA9IGZuZChlW2ldLmEpLCB5ID0gZm5kKGVbaV0uYiksIHQ7CgkJCXdoaWxlICh4ICE9IHkpIHsKCQkJCWlmIChkZXBbeF0gPCBkZXBbeV0pIHQgPSB4LCB4ID0geSwgeSA9IHQ7CgkJCQlHaVtlW3B2W3hdXS5pZHhdID0gUyAtIGVbcHZbeF1dLncgKyBlW2ldLnc7CgkJCQlwYXJbeF0gPSBwcFt4XTsKCQkJCXggPSBmbmQoeCk7CgkJCX0KCQl9Cgl9Cglmb3IgKGludCBpID0gMTsgaSA8PSBtOyBpKyspIHByaW50ZigiJWxsZFxuIiwgR2lbaV0pOwoJcmV0dXJuIDA7Cn0=