#include <bits/stdc++.h>
using namespace std ;
#define ll long long
#define fast ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define fir first
#define sec second
#define piint pair < int , int >
#define FOR( i , a , b ) for (int i = (a) , _b = (b) ; i <= _b ; i ++ )
#define pb push_back
#define str string
#define ALL(a) (a).begin() , (a).end()
#define rep( i , a , b) for (int i = (a) ; i < (b) ; i ++ )
#define ld long double
const int maxn = 4 * 1e5 ;
#define debug 0
#define oo (ll)(1e18)
// #define l9 18
void input(){
}
ll f[maxn + 3] ;
int n , m ;
ll find_root ( int u ) {
return ( f[u] < 0 ) ? u : f[u] = find_root ( f[u] ) ;
}
bool unit ( int x , int y ){
x = find_root ( x ) ;
y = find_root ( y ) ;
if ( x == y) return 0;
if ( f[x] > f[y]) swap ( x , y ) ;
f[x ] += f[y] ;
f[y ] = x ;
return 1 ;
}
struct ALMST{
int u , v ;
ll w ;
int i ;
bool in ;
} ;
int up[maxn+3][20];
ll maxx[maxn+3][20];
vector < pair < int , ll > > a[maxn+3];
ll h[maxn+3] ;
void dfs ( int u , int p ) {
FOR ( i , 1 , 19 ) {
up[u][i] = up[up[u][i-1]][i-1] ;
maxx[u][i] = max ( maxx[u][i-1] , maxx[up[u][i-1]][i-1] ) ;
}
for (auto [v , w ] : a[u]){
if ( v == p ) continue ;
up[v][0] = u;
maxx[v][0] = w ;
h[v] = h[u] + 1;
dfs ( v , u ) ;
}
}
ll get_max ( int u , int v ) {
if ( h[u] < h[v]) swap ( u , v );
int k = h[u] - h[v] ;
ll res = -oo ;
for (int j = 0 ; ( 1 << j ) <= k ; j ++ ) {
if ( ( k >> j ) & 1 ) {
res = max ( res , maxx[u][j] ) ;
u = up[u][j] ;
}
}
if ( u == v ) return res ;
for (int i = 19 ; i>= 0 ; i -- ) {
if ( up[u][i] != up[v][i]) {
res = max ( { res , maxx[v][i] , maxx[u][i]} ) ;
u = up[u][i] ;
v = up[v][i] ;
}
}
return max ( { res , maxx[u][0] , maxx[v][0]}) ;
}
vector < ALMST > edges ;
#define name "TASK"
int main(){
fast
if(fopen(name".INP","r")) {
freopen (name".INP","r",stdin);
freopen (name".OUT","w",stdout);
}
cin >> n >> m ;
memset ( f , -1 , sizeof (f)) ;
FOR ( i , 1 , m ) {
int u , v ;
ll w ;
cin >> u >> v >> w ;
edges.pb ( { u , v , w , i , false }) ;
}
sort ( ALL(edges) , [&] ( ALMST a , ALMST b ) {
return a.w < b.w ;
}) ;
ll MINNEST = 0 ;
vector < ll > ans ( m + 1 , 0ll );
for (auto& e: edges ){
if(unit ( e.u , e.v )) {
MINNEST += e.w ;
e.in = 1 ;
a[e.u].pb ( { e.v , e.w }) ;
a[e.v].pb ( { e.u , e.w }) ;
}
}
maxx[1][0] = -oo;
dfs ( 1 , 0 ) ;
for (auto& e : edges){
if(e.in){
ans[e.i] = MINNEST ;
} else {
ans[e.i] = e.w + MINNEST - get_max(e.u, e.v) ;
}
}
FOR ( i , 1 , m ) cout << ans[i] << '\n';
cerr << "\nTIME: = " << (1.0*clock())/CLOCKS_PER_SEC << '\n';
return(0) ;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQgOyAKCgojZGVmaW5lIGxsIGxvbmcgbG9uZyAKI2RlZmluZSBmYXN0IGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7IGNvdXQudGllKDApOwojZGVmaW5lIGZpciBmaXJzdCAKI2RlZmluZSBzZWMgc2Vjb25kIAojZGVmaW5lIHBpaW50IHBhaXIgPCBpbnQgLCBpbnQgPgojZGVmaW5lIEZPUiggaSAsIGEgLCBiICkgZm9yIChpbnQgaSA9IChhKSAsIF9iID0gKGIpIDsgaSA8PSBfYiA7IGkgKysgKSAgCiNkZWZpbmUgcGIgcHVzaF9iYWNrIAojZGVmaW5lIHN0ciBzdHJpbmcgCiNkZWZpbmUgQUxMKGEpIChhKS5iZWdpbigpICwgKGEpLmVuZCgpIAojZGVmaW5lIHJlcCggaSAsIGEgLCBiKSBmb3IgKGludCBpID0gKGEpIDsgaSA8IChiKSA7IGkgKysgKQojZGVmaW5lIGxkIGxvbmcgZG91YmxlCmNvbnN0IGludCBtYXhuID0gNCAqIDFlNSA7CiNkZWZpbmUgZGVidWcgMAojZGVmaW5lIG9vIChsbCkoMWUxOCkKCi8vICNkZWZpbmUgbDkgMTgKCgoKdm9pZCBpbnB1dCgpewp9CgpsbCBmW21heG4gKyAzXSA7CmludCBuICwgbSA7CgpsbCBmaW5kX3Jvb3QgKCBpbnQgdSApIHsKCXJldHVybiAoIGZbdV0gPCAwICApID8gdSA6IGZbdV0gPSBmaW5kX3Jvb3QgKCBmW3VdICkgOwp9Cgpib29sIHVuaXQgKCBpbnQgeCAsIGludCB5ICl7CgoKCXggPSBmaW5kX3Jvb3QgKCB4ICkgOwoJeSA9IGZpbmRfcm9vdCAoIHkgKSA7CgoJaWYgKCB4ID09IHkpIHJldHVybiAwOyAKCWlmICggZlt4XSA+IGZbeV0pIHN3YXAgKCB4ICwgeSApIDsKCWZbeCBdICs9IGZbeV0gOwoJZlt5IF0gPSB4IDsKCXJldHVybiAxIDsKfQkKc3RydWN0IEFMTVNUewoJaW50IHUgLCB2IDsKCWxsIHcgOwoJaW50IGkgOwoJYm9vbCBpbiA7Cgp9IDsKaW50IHVwW21heG4rM11bMjBdOyAKbGwgbWF4eFttYXhuKzNdWzIwXTsgCnZlY3RvciA8IHBhaXIgPCBpbnQgLCBsbCA+ICA+IGFbbWF4biszXTsKbGwgaFttYXhuKzNdIDsKdm9pZCBkZnMgKCBpbnQgdSAsIGludCBwICkgewoKCUZPUiAoIGkgLCAxICwgMTkgKSB7CgkJdXBbdV1baV0gPSB1cFt1cFt1XVtpLTFdXVtpLTFdIDsKCQltYXh4W3VdW2ldID0gbWF4ICggbWF4eFt1XVtpLTFdICwgbWF4eFt1cFt1XVtpLTFdXVtpLTFdICkgOwoJfQoJZm9yIChhdXRvIFt2ICAsIHcgXSA6IGFbdV0pewoJCWlmICggdiA9PSBwICkgY29udGludWUgOwoJCXVwW3ZdWzBdID0gdTsKCQltYXh4W3ZdWzBdID0gdyA7CgkJaFt2XSA9IGhbdV0gKyAxOwoJCWRmcyAoIHYgLCB1ICkgOwoKCX0KfQpsbCBnZXRfbWF4ICggaW50IHUgLCBpbnQgdiApIHsKCWlmICggaFt1XSA8IGhbdl0pIHN3YXAgKCB1ICwgdiApOwoJaW50IGsgPSBoW3VdIC0gaFt2XSA7CglsbCByZXMgPSAtb28gOwoJZm9yIChpbnQgaiA9IDAgOyAoIDEgPDwgaiApIDw9IGsgOyBqICsrICkgewoJCWlmICggKCBrID4+IGogKSAmIDEgKSB7CgkJCXJlcyA9IG1heCAoIHJlcyAsIG1heHhbdV1bal0gKSA7CgkJCXUgPSB1cFt1XVtqXSA7CgkJfQoJfQoKCWlmICggdSA9PSB2ICkgcmV0dXJuIHJlcyA7CgoJZm9yIChpbnQgaSA9IDE5IDsgaT49IDAgOyBpIC0tICkgewoJCWlmICggdXBbdV1baV0gIT0gdXBbdl1baV0pIHsKCQkJcmVzID0gbWF4ICggeyByZXMgLCBtYXh4W3ZdW2ldICwgbWF4eFt1XVtpXX0gKSA7CgkJCXUgPSB1cFt1XVtpXSA7CgkJCXYgPSB1cFt2XVtpXSA7CgkJfQoJfQoJcmV0dXJuIG1heCAoIHsgcmVzICwgbWF4eFt1XVswXSAsIG1heHhbdl1bMF19KSA7Cn0KdmVjdG9yIDwgQUxNU1QgPiBlZGdlcyA7IAojZGVmaW5lIG5hbWUgIlRBU0siIAppbnQgbWFpbigpewogICAgZmFzdCAKICAgIGlmKGZvcGVuKG5hbWUiLklOUCIsInIiKSkgewogICAgICAgIGZyZW9wZW4gKG5hbWUiLklOUCIsInIiLHN0ZGluKTsKICAgICAgICBmcmVvcGVuIChuYW1lIi5PVVQiLCJ3IixzdGRvdXQpOwogICAgfQogICAJY2luID4+IG4gPj4gbSA7CiAgIAltZW1zZXQgKCBmICwgLTEgLCBzaXplb2YgKGYpKSA7CgogICAJRk9SICggaSAsIDEgLCBtICkgewogICAJCWludCB1ICwgdiA7CiAgIAkJbGwgdyA7CgogICAJCWNpbiA+PiB1ID4+IHYgPj4gdyA7CiAgIAkJZWRnZXMucGIgKCB7IHUgLCB2ICwgdyAsIGkgICwgZmFsc2UgfSkgOwogICAgCiAgICB9CiAgICBzb3J0ICggQUxMKGVkZ2VzKSAsIFsmXSAoIEFMTVNUIGEgLCBBTE1TVCBiICkgewogICAgCXJldHVybiBhLncgPCBiLncgOwogICAgfSkgOwogICAgbGwgTUlOTkVTVCA9IDAgOwogICAgdmVjdG9yIDwgbGwgPiBhbnMgKCBtICsgMSAsIDBsbCApOyAKICAgIGZvciAoYXV0byYgZTogZWRnZXMgKXsKICAgIAlpZih1bml0ICggZS51ICwgZS52ICkpIHsKCiAgICAJCU1JTk5FU1QgKz0gZS53IDsKICAgIAkJZS5pbiA9IDEgOwogICAgCQlhW2UudV0ucGIgKCB7IGUudiAsIGUudyB9KSA7CiAgICAJCWFbZS52XS5wYiAoIHsgZS51ICwgZS53IH0pIDsKCiAgICAJfQogICAgfQogICAgbWF4eFsxXVswXSA9IC1vbzsKICAgIGRmcyAoIDEgLCAwICkgOwogICAgZm9yIChhdXRvJiBlIDogZWRnZXMpewogICAgCWlmKGUuaW4pewogICAgICAgIGFuc1tlLmldID0gTUlOTkVTVCA7CiAgICB9IGVsc2UgewogICAgICAgIGFuc1tlLmldID0gZS53ICsgTUlOTkVTVCAtIGdldF9tYXgoZS51LCBlLnYpIDsKICAgIH0KfQogICAgRk9SICggaSAsIDEgLCBtICkgY291dCA8PCBhbnNbaV0gPDwgJ1xuJzsKICAgIGNlcnIgPDwgIlxuVElNRTogPSAiIDw8ICgxLjAqY2xvY2soKSkvQ0xPQ0tTX1BFUl9TRUMgPDwgJ1xuJzsKICAgIHJldHVybigwKSA7Cn0=