#include <bits/stdc++.h>
#define gc getchar
#define pc putchar
using namespace std;
/*#include <ext/pb_ds/tree_policy.hpp>
#include <ext/pb_ds/detail/standard_policies.hpp>
#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;
*/
/*
two functions for policy based data structure. it is
find_by_order() and order_of_key().
The first returns an iterator to the k-th largest element (counting from zero),
the second returns the number of items in a set that are strictly smaller than our item
*/
#define vi vector<int>
#define si set<int>
#define vs vector<string>
#define pii pair<int,int>
#define vpi vector<pii>
#define pri priority_queue<int>
#define rev_pri priority_queue<int,vector<int>,greater<int> >
#define mpi map<int,int>
#define i64 long long int
#define endl '\n'
#define pi acos(-1)
#define all(v) v.begin(),v.end()
#define pb push_back
#define mp make_pair
#define mod 1000000007
#define For(i,n) for(int i=0;i<n;i++)
#define Rep(i,x,y) for(int i=x;i<=y;i++)
#define eps 1e-8
#define ff first
#define ss second
#define mem(a,b) memset(a,b,sizeof(a))
#define min3(a,b,c) min(a,min(b,c))
#define max3(a,b,c) max(a,max(b,c))
#define READ freopen("input.txt", "r", stdin)
#define sz size()
#define dbg(x) printf("yo is %d!\n",x)
#define dbg2(x,y) printf("yo is %d! and %d!\n",x,y)
#define foreach(i,c) for(__typeof((c).begin()) i = (c).begin(); i != (c).end(); i++)
#define sqr(a) (a) * (a)
#define clr clear()
#define CASE(a) printf("Case %d:\n",a)
#define sf(n) scanf("%d", &n)
#define sff(a,b) scanf("%d %d", &a, &b)
#define sfff(a,b,c) scanf("%d %d %d", &a, &b, &c)
//int dx[] = {0,1,0,-1};
//int dy[] = {1,0,-1,0};
//int dx[] = { -1, -1, 0, 1, 1, 1, 0, -1 };
//int dy[] = { 0, -1, -1, -1, 0, 1, 1, 1 };
//int dxK[] = { -2, -2, -1, 1, 2, 2, 1, -1 };
//int dyK[] = { -1, 1, 2, 2, 1, -1, -2, -2 };
//functions
//i64 gcd(i64 a,i64 b){if(!b)return a;return gcd(b,a%b);}
//inline void fastRead(i64 *a){register char c=0;while(c<33)c=gc();*a=0;while(c>33){*a=*a*10+c-'0';c=gc();}}
//inline void fastWrite(int a){char snum[20];int i=0;do{snum[i++]=a%10+48;a=a/10;}while(a!=0);i=i-1;while(i>=0)pc(snum[i--]);pc('\n');}
//i64 bigmod(i64 num,i64 n){if(!n)return 1;i64 x=(bigmod(num,n/2)*bigmod(num,n/2))%mod;if(n%2)x=(x*num)%mod;return x;}
//i64 modinverse(i64 num){return bigmod(num,mod-2);}
//void combination(int pos,int last){if(pos==k+1){for(int i=1;i<=k;i++)cout << tem[i];cout << endl;return;}
//for(int i=last+1;i<=n-k+pos;i++){tem[pos] = num[i-1];combination(pos+1,i);}}
//i64 power(i64 value, i64 base){i64 result = 1;For(i,base)result *= value;return result;}
//int Set(int N,int pos){return N = (1<<pos);}
//int reset(int N,int pos){return N &= (~(1<<pos));}
//bool check(int N,int pos){return (bool)(N & (1<<pos));}
//typedef tree< int, null_type, less < int >, rb_tree_tag, tree_order_statistics_node_update > Set;
int vis[205];
vpi adj[205], tree[205];
int prim(int k)
{
mem(vis,0);
priority_queue<pair<int,pii>, vector<pair<int,pii> >, greater<pair<int,pii> > > pq;
pq.push(mp(0,mp(k,-1)));
int ret = 0;
while(!pq.empty())
{
pair<int,pii> p = pq.top();
pq.pop();
int u = p.ss.ff;
int pr = p.ss.ss;
if(vis[u])
continue;
ret += p.ff;
vis[u] = 1;
if(pr!=-1)
{
tree[u].pb(mp(pr,p.ff));
tree[pr].pb(mp(u,p.ff));
}
For(i,adj[u].sz)
{
int v = adj[u][i].ff;
if(!vis[v])
pq.push(mp(adj[u][i].ss,mp(v,u)));
}
}
return ret;
}
int main()
{
int t;
sf(t);
Rep(tc,1,t)
{
int n,w;
sff(n,w);
mem(adj,NULL);
CASE(tc);
while(w--)
{
int a,b,c;
sfff(a,b,c);
adj[a].pb(mp(b,c));
adj[b].pb(mp(a,c));
int flag = 1;
int ans = prim(a);
Rep(i,1,n)
{
if(!vis[i])
flag = 0;
else
adj[i] = tree[i];
}
if(flag)
printf("%d\n",ans);
else
printf("-1\n");
//Rep(i,1,n)
//dbg(adj[i].sz);
mem(tree,NULL);
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CgoKI2RlZmluZSBnYyBnZXRjaGFyCiNkZWZpbmUgcGMgcHV0Y2hhcgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8qI2luY2x1ZGUgPGV4dC9wYl9kcy90cmVlX3BvbGljeS5ocHA+CiNpbmNsdWRlIDxleHQvcGJfZHMvZGV0YWlsL3N0YW5kYXJkX3BvbGljaWVzLmhwcD4KI2luY2x1ZGUgPGV4dC9wYl9kcy9hc3NvY19jb250YWluZXIuaHBwPgoKdXNpbmcgbmFtZXNwYWNlIF9fZ251X3BiZHM7CiovCgovKgogICAgICAgIHR3byBmdW5jdGlvbnMgZm9yIHBvbGljeSBiYXNlZCBkYXRhIHN0cnVjdHVyZS4gaXQgaXMKCiAgICAgICAgICAgICAgICBmaW5kX2J5X29yZGVyKCkgYW5kIG9yZGVyX29mX2tleSgpLgoKICAgICAgICBUaGUgZmlyc3QgcmV0dXJucyBhbiBpdGVyYXRvciB0byB0aGUgay10aCBsYXJnZXN0IGVsZW1lbnQgKGNvdW50aW5nIGZyb20gemVybyksCiAgICAgICAgdGhlIHNlY29uZCByZXR1cm5zIHRoZSBudW1iZXIgb2YgaXRlbXMgaW4gYSBzZXQgdGhhdCBhcmUgc3RyaWN0bHkgc21hbGxlciB0aGFuIG91ciBpdGVtCgoqLwoKI2RlZmluZSB2aSB2ZWN0b3I8aW50PgojZGVmaW5lIHNpIHNldDxpbnQ+CiNkZWZpbmUgdnMgdmVjdG9yPHN0cmluZz4KI2RlZmluZSBwaWkgcGFpcjxpbnQsaW50PgojZGVmaW5lIHZwaSB2ZWN0b3I8cGlpPgojZGVmaW5lIHByaSBwcmlvcml0eV9xdWV1ZTxpbnQ+CiNkZWZpbmUgcmV2X3ByaSBwcmlvcml0eV9xdWV1ZTxpbnQsdmVjdG9yPGludD4sZ3JlYXRlcjxpbnQ+ID4KI2RlZmluZSBtcGkgbWFwPGludCxpbnQ+CiNkZWZpbmUgaTY0IGxvbmcgbG9uZyBpbnQKI2RlZmluZSBlbmRsICdcbicKI2RlZmluZSBwaSBhY29zKC0xKQojZGVmaW5lIGFsbCh2KSB2LmJlZ2luKCksdi5lbmQoKQojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIG1wIG1ha2VfcGFpcgojZGVmaW5lIG1vZCAxMDAwMDAwMDA3CiNkZWZpbmUgRm9yKGksbikgZm9yKGludCBpPTA7aTxuO2krKykKI2RlZmluZSBSZXAoaSx4LHkpIGZvcihpbnQgaT14O2k8PXk7aSsrKQojZGVmaW5lIGVwcyAxZS04CiNkZWZpbmUgZmYgZmlyc3QKI2RlZmluZSBzcyBzZWNvbmQKI2RlZmluZSBtZW0oYSxiKSBtZW1zZXQoYSxiLHNpemVvZihhKSkKI2RlZmluZSBtaW4zKGEsYixjKSBtaW4oYSxtaW4oYixjKSkKI2RlZmluZSBtYXgzKGEsYixjKSBtYXgoYSxtYXgoYixjKSkKI2RlZmluZSBSRUFEIGZyZW9wZW4oImlucHV0LnR4dCIsICJyIiwgc3RkaW4pCiNkZWZpbmUgc3ogc2l6ZSgpCiNkZWZpbmUgZGJnKHgpIHByaW50ZigieW8gaXMgJWQhXG4iLHgpCiNkZWZpbmUgZGJnMih4LHkpIHByaW50ZigieW8gaXMgJWQhIGFuZCAlZCFcbiIseCx5KQojZGVmaW5lIGZvcmVhY2goaSxjKSBmb3IoX190eXBlb2YoKGMpLmJlZ2luKCkpIGkgPSAoYykuYmVnaW4oKTsgaSAhPSAoYykuZW5kKCk7IGkrKykKI2RlZmluZSBzcXIoYSkgKGEpICogKGEpCiNkZWZpbmUgY2xyIGNsZWFyKCkKI2RlZmluZSBDQVNFKGEpIHByaW50ZigiQ2FzZSAlZDpcbiIsYSkKI2RlZmluZSBzZihuKSBzY2FuZigiJWQiLCAmbikKI2RlZmluZSBzZmYoYSxiKSBzY2FuZigiJWQgJWQiLCAmYSwgJmIpCiNkZWZpbmUgc2ZmZihhLGIsYykgc2NhbmYoIiVkICVkICVkIiwgJmEsICZiLCAmYykKCi8vaW50IGR4W10gPSB7MCwxLDAsLTF9OwovL2ludCBkeVtdID0gezEsMCwtMSwwfTsKLy9pbnQgZHhbXSA9IHsgLTEsIC0xLCAgMCwgMSwgMSwgMSwgIDAsIC0xIH07Ci8vaW50IGR5W10gPSB7ICAwLCAtMSwgLTEsIC0xLCAgMCwgMSwgMSwgMSB9OwovL2ludCBkeEtbXSA9IHsgLTIsIC0yLCAtMSwgMSwgMiwgMiwgMSwgLTEgfTsKLy9pbnQgZHlLW10gPSB7IC0xLCAxLCAyLCAyLCAxLCAtMSwgLTIsIC0yIH07CgovL2Z1bmN0aW9ucwoKLy9pNjQgZ2NkKGk2NCBhLGk2NCBiKXtpZighYilyZXR1cm4gYTtyZXR1cm4gZ2NkKGIsYSViKTt9CgovL2lubGluZSB2b2lkIGZhc3RSZWFkKGk2NCAqYSl7cmVnaXN0ZXIgY2hhciBjPTA7d2hpbGUoYzwzMyljPWdjKCk7KmE9MDt3aGlsZShjPjMzKXsqYT0qYSoxMCtjLScwJztjPWdjKCk7fX0KCi8vaW5saW5lIHZvaWQgZmFzdFdyaXRlKGludCBhKXtjaGFyIHNudW1bMjBdO2ludCBpPTA7ZG97c251bVtpKytdPWElMTArNDg7YT1hLzEwO313aGlsZShhIT0wKTtpPWktMTt3aGlsZShpPj0wKXBjKHNudW1baS0tXSk7cGMoJ1xuJyk7fQoKLy9pNjQgYmlnbW9kKGk2NCBudW0saTY0IG4pe2lmKCFuKXJldHVybiAxO2k2NCB4PShiaWdtb2QobnVtLG4vMikqYmlnbW9kKG51bSxuLzIpKSVtb2Q7aWYobiUyKXg9KHgqbnVtKSVtb2Q7cmV0dXJuIHg7fQoKLy9pNjQgbW9kaW52ZXJzZShpNjQgbnVtKXtyZXR1cm4gYmlnbW9kKG51bSxtb2QtMik7fQoKLy92b2lkIGNvbWJpbmF0aW9uKGludCBwb3MsaW50IGxhc3Qpe2lmKHBvcz09aysxKXtmb3IoaW50IGk9MTtpPD1rO2krKyljb3V0IDw8IHRlbVtpXTtjb3V0IDw8IGVuZGw7cmV0dXJuO30KLy9mb3IoaW50IGk9bGFzdCsxO2k8PW4taytwb3M7aSsrKXt0ZW1bcG9zXSA9IG51bVtpLTFdO2NvbWJpbmF0aW9uKHBvcysxLGkpO319Ci8vaTY0IHBvd2VyKGk2NCB2YWx1ZSwgaTY0IGJhc2Upe2k2NCByZXN1bHQgPSAxO0ZvcihpLGJhc2UpcmVzdWx0ICo9IHZhbHVlO3JldHVybiByZXN1bHQ7fQovL2ludCBTZXQoaW50IE4saW50IHBvcyl7cmV0dXJuIE4gPSAoMTw8cG9zKTt9Ci8vaW50IHJlc2V0KGludCBOLGludCBwb3Mpe3JldHVybiBOICY9ICh+KDE8PHBvcykpO30KLy9ib29sIGNoZWNrKGludCBOLGludCBwb3Mpe3JldHVybiAoYm9vbCkoTiAmICgxPDxwb3MpKTt9CgovL3R5cGVkZWYgdHJlZTwgaW50LCBudWxsX3R5cGUsIGxlc3MgPCBpbnQgPiwgcmJfdHJlZV90YWcsIHRyZWVfb3JkZXJfc3RhdGlzdGljc19ub2RlX3VwZGF0ZSA+IFNldDsKCmludCB2aXNbMjA1XTsKdnBpIGFkalsyMDVdLCB0cmVlWzIwNV07CgppbnQgcHJpbShpbnQgaykKewogICAgbWVtKHZpcywwKTsKCiAgICBwcmlvcml0eV9xdWV1ZTxwYWlyPGludCxwaWk+LCB2ZWN0b3I8cGFpcjxpbnQscGlpPiA+LCBncmVhdGVyPHBhaXI8aW50LHBpaT4gPiA+IHBxOwoKICAgIHBxLnB1c2gobXAoMCxtcChrLC0xKSkpOwoKICAgIGludCByZXQgPSAwOwoKICAgIHdoaWxlKCFwcS5lbXB0eSgpKQogICAgewogICAgICAgIHBhaXI8aW50LHBpaT4gcCA9IHBxLnRvcCgpOwogICAgICAgIHBxLnBvcCgpOwoKICAgICAgICBpbnQgdSA9IHAuc3MuZmY7CiAgICAgICAgaW50IHByID0gcC5zcy5zczsKCiAgICAgICAgaWYodmlzW3VdKQogICAgICAgICAgICBjb250aW51ZTsKCiAgICAgICAgcmV0ICs9IHAuZmY7CiAgICAgICAgdmlzW3VdID0gMTsKICAgICAgICBpZihwciE9LTEpCiAgICAgICAgewogICAgICAgICAgICB0cmVlW3VdLnBiKG1wKHByLHAuZmYpKTsKICAgICAgICAgICAgdHJlZVtwcl0ucGIobXAodSxwLmZmKSk7CiAgICAgICAgfQoKICAgICAgICBGb3IoaSxhZGpbdV0uc3opCiAgICAgICAgewogICAgICAgICAgICBpbnQgdiA9IGFkalt1XVtpXS5mZjsKICAgICAgICAgICAgaWYoIXZpc1t2XSkKICAgICAgICAgICAgICAgIHBxLnB1c2gobXAoYWRqW3VdW2ldLnNzLG1wKHYsdSkpKTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gcmV0Owp9CgppbnQgbWFpbigpCnsKICAgIGludCB0OwogICAgc2YodCk7CiAgICBSZXAodGMsMSx0KQogICAgewogICAgICAgIGludCBuLHc7CiAgICAgICAgc2ZmKG4sdyk7CiAgICAgICAgbWVtKGFkaixOVUxMKTsKICAgICAgICBDQVNFKHRjKTsKICAgICAgICB3aGlsZSh3LS0pCiAgICAgICAgewogICAgICAgICAgICBpbnQgYSxiLGM7CiAgICAgICAgICAgIHNmZmYoYSxiLGMpOwogICAgICAgICAgICBhZGpbYV0ucGIobXAoYixjKSk7CiAgICAgICAgICAgIGFkaltiXS5wYihtcChhLGMpKTsKCiAgICAgICAgICAgIGludCBmbGFnID0gMTsKICAgICAgICAgICAgaW50IGFucyA9IHByaW0oYSk7CgogICAgICAgICAgICBSZXAoaSwxLG4pCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmKCF2aXNbaV0pCiAgICAgICAgICAgICAgICAgICAgZmxhZyA9IDA7CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgYWRqW2ldID0gdHJlZVtpXTsKICAgICAgICAgICAgfQoKCiAgICAgICAgICAgIGlmKGZsYWcpCiAgICAgICAgICAgICAgICBwcmludGYoIiVkXG4iLGFucyk7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHByaW50ZigiLTFcbiIpOwogICAgICAgICAgICAvL1JlcChpLDEsbikKICAgICAgICAgICAgICAgIC8vZGJnKGFkaltpXS5zeik7CiAgICAgICAgICAgIG1lbSh0cmVlLE5VTEwpOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gMDsKfQo=