
#include<bits/stdc++.h>
using namespace std;

using ll = long long;
#define REP(i,n) for(int (i) = 0;(i) < (n);(i)++)

// const

// input

// valiable

// func

// main
void main2(){

  ll ans = 0;

  int n;cin >> n;
  vector<pair<ll,ll>> left,right;

  REP(i,n){
    int k;
    ll l,r;cin >> k >> l >> r;
    ans += min(l,r);
    if(l > r){
      left.emplace_back(l - r,k - 1);
    }else{
      right.emplace_back(r - l,k - 1);
    }
  }

  vector<vector<int>> lpos(n,vector<int>(0)),rpos(n,vector<int>(0));

  REP(i,(int)left.size()){
    lpos[left[i].second].push_back(i);
  }
  REP(i,(int)right.size()){
    rpos[right[i].second].push_back(i);
  }

  priority_queue<ll,vector<ll>,greater<ll>> L,R;

  for(int i = 0;i < n;i++){
    for(int j : lpos[i]){
      L.push(left[j].first);
    }
    while(L.size() > (i + 1)){
      L.pop();
    }
  }

  for(int i = n - 1;i >= 0;i--){
    for(int j : rpos[i]){
      R.push(right[j].first);
    }
    while(R.size() > (n - 1- i)){
      R.pop();
    }
  }
  while(L.size()){
    ans += L.top();
    L.pop(); 
  }

  while(R.size()){
    ans += R.top();
    R.pop(); 
  }

  cout << ans << '\n';
}
int main(void){
  cin.tie(0);
  ios::sync_with_stdio(false);

  int t;cin >> t;
  REP(_,t)main2();
  
}
