#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<utility>
#include<algorithm>
#include<iomanip>
#include<functional>
#include<limits>
#include<memory>
#include<cstdlib>
#include<cassert>
#include<cctype>
#include<cfloat>
#include<stack>
#include<queue>
#include<deque>
#include<iterator>
#include<list>
#include<vector>
#include<map>
#include<set>
#include<numeric>
#include<ctime>
#include<sstream>
using namespace std;
// ***COMMONLY USED MACROS***
#define MOD 1000000007
#define pb push_back
#define pob pop_back
#define pf push_front
#define pof pop_front
#define minr min_element
#define maxr max_element
#define mh make_heap
#define ph push_heap
#define poh pop_heap
#define Sd(n) scanf("%d",&n)
#define Pd(n) printf("%d\n",n)
#define mp(i,j) make_pair(i,j)
#define Sld(n) scanf("%lld",&n)
#define Pld printf("%lld\n",n)
#define Ss(s) scanf("%s\n",s)
#define Ps(s) printf("%s\n",s)
#define forn(i,n) for(int i=0;i<int(n);i++)
#define ford(i,n) for(int i=int(n);i>=0;i--)
#define all(a) a.begin(),a.end()
#define set(a,x) memset(a,x,sizeof(a))
#define mod 10000007
// ***FEW TYPEDEFINES**
typedef unsigned long long int uint64;
typedef long long int int64;
typedef pair<int64,int64> pii;
const long double pi = 3.1415926535897932384626433832795;
const long double eps = 1e-9;
int g[1001][1001];
const int INF = 1000000000;
int cost[1001];
int main(){
int n,t,m,a,b,c;
cin>>t;//test cases
while(t--){
cin>>n>>m;//vertices and edges
//initializing
for(int i=0;i<n;i++){
cost[i]=INF;
for(int j=0;j<n;j++){
g[i][j]=INF;}}
//input source dest cost
for(int i=0;i<m;i++){
cin>>a>>b>>c;
a--;
b--;
g[a][b]=c;
g[b][a]=c;
}
cost[0] = 0;
//algo
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(g[i][j]<cost[j])
cost[j]=g[i][j];
}
}
int64 ans=0;
//calculating cost of the entire path
for(int i=0;i<n;i++)
ans=ans+cost[i];
cout<<ans<<endl;
}
return 0;}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGNzdGRpbz4KI2luY2x1ZGU8Y3N0cmluZz4KI2luY2x1ZGU8Y21hdGg+CiNpbmNsdWRlPHV0aWxpdHk+CiNpbmNsdWRlPGFsZ29yaXRobT4KI2luY2x1ZGU8aW9tYW5pcD4KI2luY2x1ZGU8ZnVuY3Rpb25hbD4KI2luY2x1ZGU8bGltaXRzPgojaW5jbHVkZTxtZW1vcnk+CiNpbmNsdWRlPGNzdGRsaWI+CiNpbmNsdWRlPGNhc3NlcnQ+CiNpbmNsdWRlPGNjdHlwZT4KI2luY2x1ZGU8Y2Zsb2F0PgojaW5jbHVkZTxzdGFjaz4KI2luY2x1ZGU8cXVldWU+CiNpbmNsdWRlPGRlcXVlPgojaW5jbHVkZTxpdGVyYXRvcj4KI2luY2x1ZGU8bGlzdD4KI2luY2x1ZGU8dmVjdG9yPgojaW5jbHVkZTxtYXA+CiNpbmNsdWRlPHNldD4KI2luY2x1ZGU8bnVtZXJpYz4KI2luY2x1ZGU8Y3RpbWU+CiNpbmNsdWRlPHNzdHJlYW0+CiAKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAovLyAqKipDT01NT05MWSBVU0VEIE1BQ1JPUyoqKgojZGVmaW5lIE1PRCAxMDAwMDAwMDA3CiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgcG9iIHBvcF9iYWNrCiNkZWZpbmUgcGYgcHVzaF9mcm9udAojZGVmaW5lIHBvZiBwb3BfZnJvbnQKI2RlZmluZSBtaW5yIG1pbl9lbGVtZW50CiNkZWZpbmUgbWF4ciBtYXhfZWxlbWVudAojZGVmaW5lIG1oIG1ha2VfaGVhcAojZGVmaW5lIHBoIHB1c2hfaGVhcAojZGVmaW5lIHBvaCBwb3BfaGVhcAojZGVmaW5lIFNkKG4pIHNjYW5mKCIlZCIsJm4pCiNkZWZpbmUgUGQobikgcHJpbnRmKCIlZFxuIixuKQojZGVmaW5lIG1wKGksaikgbWFrZV9wYWlyKGksaikKI2RlZmluZSBTbGQobikgc2NhbmYoIiVsbGQiLCZuKQojZGVmaW5lIFBsZCBwcmludGYoIiVsbGRcbiIsbikKI2RlZmluZSBTcyhzKSBzY2FuZigiJXNcbiIscykKI2RlZmluZSBQcyhzKSBwcmludGYoIiVzXG4iLHMpCiNkZWZpbmUgZm9ybihpLG4pIGZvcihpbnQgaT0wO2k8aW50KG4pO2krKykKI2RlZmluZSBmb3JkKGksbikgZm9yKGludCBpPWludChuKTtpPj0wO2ktLSkKI2RlZmluZSBhbGwoYSkgYS5iZWdpbigpLGEuZW5kKCkKI2RlZmluZSBzZXQoYSx4KSBtZW1zZXQoYSx4LHNpemVvZihhKSkKI2RlZmluZSBtb2QgMTAwMDAwMDcKLy8gICoqKkZFVyBUWVBFREVGSU5FUyoqCnR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIGludCB1aW50NjQ7CnR5cGVkZWYgbG9uZyBsb25nIGludCBpbnQ2NDsKdHlwZWRlZiBwYWlyPGludDY0LGludDY0PiBwaWk7CiAKY29uc3QgbG9uZyBkb3VibGUgcGkgPSAzLjE0MTU5MjY1MzU4OTc5MzIzODQ2MjY0MzM4MzI3OTU7CmNvbnN0IGxvbmcgZG91YmxlIGVwcyA9IDFlLTk7CgppbnQgZ1sxMDAxXVsxMDAxXTsKY29uc3QgaW50IElORiA9IDEwMDAwMDAwMDA7IAppbnQgY29zdFsxMDAxXTsKCmludCBtYWluKCl7CglpbnQgbix0LG0sYSxiLGM7CgljaW4+PnQ7Ly90ZXN0IGNhc2VzCgl3aGlsZSh0LS0pewoJY2luPj5uPj5tOy8vdmVydGljZXMgYW5kIGVkZ2VzCi8vaW5pdGlhbGl6aW5nCglmb3IoaW50IGk9MDtpPG47aSsrKXsKCQljb3N0W2ldPUlORjsKCWZvcihpbnQgaj0wO2o8bjtqKyspewoJZ1tpXVtqXT1JTkY7fX0JCi8vaW5wdXQgc291cmNlIGRlc3QgY29zdAoJZm9yKGludCBpPTA7aTxtO2krKyl7CgkJY2luPj5hPj5iPj5jOwoJCWEtLTsKCQliLS07CgkJZ1thXVtiXT1jOwoJCWdbYl1bYV09YzsKCX0KCmNvc3RbMF0gPSAwOwovL2FsZ28KZm9yKGludCBpPTA7aTxuO2krKyl7Cglmb3IoaW50IGo9MDtqPG47aisrKXsKCQlpZihnW2ldW2pdPGNvc3Rbal0pCgkJY29zdFtqXT1nW2ldW2pdOwoJfQp9CmludDY0IGFucz0wOwovL2NhbGN1bGF0aW5nIGNvc3Qgb2YgdGhlIGVudGlyZSBwYXRoCmZvcihpbnQgaT0wO2k8bjtpKyspCmFucz1hbnMrY29zdFtpXTsKY291dDw8YW5zPDxlbmRsOwp9CgpyZXR1cm4gMDt9Cg==