#include <bits/stdc++.h>
using namespace std;
using ll = long long;
template <class T>
bool chmax(T &a, const T &b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
bool chmin(T &a, const T &b) {
  if (b < a) {
    a = b;
    return 1;
  }
  return 0;
}
inline void Yes(bool condition) {
  if (condition)
    cout << "Yes"
         << "\n";
  else
    cout << "No"
         << "\n";
}
template <class itr>
void cins(itr first, itr last) {
  for (auto i = first; i != last; i++) {
    cin >> (*i);
  }
}
template <class itr>
void array_output(itr start, itr goal) {
  string ans = "", k = " ";
  for (auto i = start; i != goal; i++) ans += to_string(*i) + k;
  if (!ans.empty()) ans.pop_back();
  cout << ans << "\n";
}
ll gcd(ll a, ll b) { return a ? gcd(b % a, a) : b; }
const ll INF = 1e15;
const ll MOD = 1000000007;
const ll MOD2 = 998244353;
const ll MAX = 200005;
constexpr ll nx[8] = {1, 0, -1, 0, 1, -1, 1, -1};
constexpr ll ny[8] = {0, 1, 0, -1, 1, 1, -1, -1};
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  ll t;
  cin >> t;
  for (ll _ = ll(0); _ < ll(t); ++_) {
    ll n;
    cin >> n;
    vector<ll> a(n + 1, 0), k(n), l(n), r(n);
    for (ll i = ll(0); i < ll(n); ++i) cin >> k[i] >> l[i] >> r[i];
    vector<tuple<ll, ll, ll>> p;
    for (ll i = ll(0); i < ll(n); ++i) {
      p.push_back(make_tuple(k[i], r[i] - l[i], i));
    }
    sort((p).begin(), (p).end());
    ll d, b, c;
    vector<ll> s, ans, m;
    for (ll i = ll(0); i < ll(n); ++i) {
      tie(d, b, c) = p[i];
      if (l[c] < r[c])
        m.push_back(c);
      else if (d < i + 1)
        s.push_back(c);
      else {
        ans.push_back(c);
      }
    }
    for (ll i : s) ans.push_back(i);
    for (ll i : m) ans.push_back(i);
    ll res = 0;
    for (ll i = ll(0); i < ll(n); ++i) {
      if (i + 1 <= k[ans[i]])
        res += l[ans[i]];
      else
        res += r[ans[i]];
    }
    cout << res << "\n";
  }
}
