#include <bits/stdc++.h>

using namespace std;
/*
struct para
{
    long long a,b;
};
*/

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    long long t; cin >> t;
    while(t--)
    {
        long long n; cin >> n;
        map <pair<long long, long long>, long long> m;
        vector<vector<pair<long long, long long>>> a;
        a.resize(2*n+3);
        set <long long> st;
        map <long long, long long> m1;
        st.clear();
        long long ans=0;
        long long x,y,z;
        for(long long i=1; i<=n; i++) {cin >> x >> y >> z; m[{x,y}]=z;   a[x].push_back({y,z}); st.insert(x); ans=max(ans,z); m1[x]+=z; m1[y]+=z;}
        for(auto x: st)
        {
            ans=max(ans,m1[x]);
            for(long long i=0; i<a[x].size()*1LL-1*1LL; i++)
            {
                for(long long j=i+1; j<(a[x].size()*1LL); j++)
                {
                    long long x1=a[x][i].first,y1=a[x][j].first;
                    if(x1>y1) swap(x1,y1);
                    long long ans1=a[x][i].second+a[x][j].second;
                    if(m[{x1,y1}]>0)ans1+=m[{x1,y1}];
                    ans=max(ans,ans1);
                    cout << x << ' ' << x1 << ' ' << y1 << ' ' << a[x][i].second << ' ' << a[x][j].second << ' ' << m[{x1,y1}] << endl;
                }
            }
        }
        cout << ans<< endl;
    }
}
