#include <bits/stdc++.h>
using namespace std;
int main() {
  long long T;
  cin >> T;
  vector<long long> ans;
  for (int t = 0; t < T; t++) {
    long long N;
    cin >> N;
    vector<pair<long long, pair<long long, pair<long long, long long> > > >
        inputL, inputR;
    for (int n = 0; n < N; n++) {
      long long k, l, r;
      cin >> k >> l >> r;
      if (l > r)
        inputL.push_back({l - r, {k - 1, {l, r}}});
      else
        inputR.push_back({r - l, {k - 1, {l, r}}});
    }
    sort(inputL.begin(), inputL.end());
    sort(inputR.begin(), inputR.end());
    long long tmp_ans = 0;
    set<long long> sl;
    for (int i = 0; i < inputL.size(); i++) sl.insert(i);
    for (auto &e : inputL) {
      long long k = e.second.first;
      long long l = e.second.second.first;
      long long r = e.second.second.second;
      auto itr = sl.upper_bound(k);
      if (itr == sl.begin()) {
        tmp_ans += r;
        auto itr = sl.end();
        itr--;
        sl.erase(*itr);
      } else {
        itr--;
        long long idx = *(itr);
        tmp_ans += l;
        sl.erase(*itr);
      }
    }
    set<long long> sr;
    for (int i = 0; i < inputR.size(); i++) sr.insert(i + inputL.size());
    for (auto &e : inputR) {
      long long k = e.second.first;
      long long l = e.second.second.first;
      long long r = e.second.second.second;
      auto itr = sr.upper_bound(k);
      if (itr == sr.end()) {
        tmp_ans += l;
        sr.erase(*(sr.begin()));
      } else {
        long long idx = *(itr);
        tmp_ans += r;
        sr.erase(*itr);
      }
    }
    ans.push_back(tmp_ans);
  }
  for (auto &e : ans) cout << e << endl;
  return 0;
}
