#include <bits/stdc++.h>
#define M 1000000007
#define pb push_back
typedef long long ll;
using namespace std;
int atoi(string s)
{
int num = 0;
for(int i=0;i<s.length();i++)
num = num*10 + (s[i]-'0');
return num;
}
vector<pair<ll,ll> > *ls;
int comp(ll a,ll b)
{
return (a>b);
}
ll maxi;
void dfs(ll nod, bool vst[], ll cst)
{
vst[nod] = true;
maxi = max(maxi,cst);
for(int i=0;i<ls[nod].size();i++)
{
if(!vst[ls[nod][i].first])
dfs(ls[nod][i].first,vst,cst + ls[nod][i].second);
}
}
int main()
{
//if (in.is_open())
{
int tc;
cin >> tc;
//tc = atoi(str);
while(tc--)
{
ll n,sum=0;
cin >> n;
ls = new vector<pair<ll,ll> >[n+1];
for(int i=0;i<n-1;i++)
{
ll a,b,c;
cin >> a >> b >> c;
sum += c;
ls[a].push_back(make_pair(b,c));
ls[b].push_back(make_pair(a,c));
}
//out << sum <<endl;
bool vst[n+1];
memset(vst,false,sizeof(vst));
maxi = INT_MIN;
dfs(1,vst,0);
//cout<<maxi<<endl;
cout << (2*sum - maxi) << endl;
}
}
//in.close();
//out.close();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgTSAxMDAwMDAwMDA3CiNkZWZpbmUgcGIgcHVzaF9iYWNrCnR5cGVkZWYgbG9uZyBsb25nIGxsOwp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgYXRvaShzdHJpbmcgcykKewoJaW50IG51bSA9IDA7Cglmb3IoaW50IGk9MDtpPHMubGVuZ3RoKCk7aSsrKQoJCW51bSA9IG51bSoxMCArIChzW2ldLScwJyk7CglyZXR1cm4gbnVtOwp9CnZlY3RvcjxwYWlyPGxsLGxsPiA+ICpsczsKaW50IGNvbXAobGwgYSxsbCBiKQp7CglyZXR1cm4gKGE+Yik7Cn0KbGwgbWF4aTsKdm9pZCBkZnMobGwgbm9kLCBib29sIHZzdFtdLCBsbCBjc3QpCnsKCXZzdFtub2RdID0gdHJ1ZTsKCW1heGkgPSBtYXgobWF4aSxjc3QpOwoJZm9yKGludCBpPTA7aTxsc1tub2RdLnNpemUoKTtpKyspCgl7CgkJaWYoIXZzdFtsc1tub2RdW2ldLmZpcnN0XSkKCQkJZGZzKGxzW25vZF1baV0uZmlyc3QsdnN0LGNzdCArIGxzW25vZF1baV0uc2Vjb25kKTsKCX0KfQppbnQgbWFpbigpCnsKCS8vaWYgKGluLmlzX29wZW4oKSkKICAJewogIAkJaW50IHRjOwoJCWNpbiA+PiB0YzsKCQkvL3RjID0gYXRvaShzdHIpOwoJCXdoaWxlKHRjLS0pCgkJewoJCQlsbCBuLHN1bT0wOwoJCQljaW4gPj4gbjsKCQkJbHMgPSBuZXcgdmVjdG9yPHBhaXI8bGwsbGw+ID5bbisxXTsKCQkJZm9yKGludCBpPTA7aTxuLTE7aSsrKQoJCQl7CgkJCQlsbCBhLGIsYzsKCQkJCWNpbiA+PiBhID4+IGIgPj4gYzsKCQkJCXN1bSArPSBjOwoJCQkJbHNbYV0ucHVzaF9iYWNrKG1ha2VfcGFpcihiLGMpKTsKCQkJCWxzW2JdLnB1c2hfYmFjayhtYWtlX3BhaXIoYSxjKSk7CgkJCX0KCQkJLy9vdXQgPDwgc3VtIDw8ZW5kbDsKCQkJYm9vbCB2c3RbbisxXTsKCQkJbWVtc2V0KHZzdCxmYWxzZSxzaXplb2YodnN0KSk7CgkJCW1heGkgPSBJTlRfTUlOOwoJCQlkZnMoMSx2c3QsMCk7CgkJCS8vY291dDw8bWF4aTw8ZW5kbDsKCQkJY291dCA8PCAoMipzdW0gLSBtYXhpKSA8PCBlbmRsOwkKCQl9CiAgICB9CiAgICAvL2luLmNsb3NlKCk7CiAgICAvL291dC5jbG9zZSgpOwogIAlyZXR1cm4gMDsKfQog