#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 5;
int n, T, b[maxn], t = 0, m = 0, k, a[maxn], ans, vit[maxn], f[maxn];
bool check, ck;
string s;
inline void sol() {
  cin >> n;
  ans = 0;
  vector<int> adj[2][maxn];
  for (int i = 1; i <= n; i++) {
    int k, l, r;
    cin >> k >> l >> r;
    if (l >= r) {
      adj[0][k].push_back(l - r);
    } else {
      adj[1][n - k].push_back(r - l);
    }
    ans += min(l, r);
  }
  for (int v = 0; v < 2; v++) {
    multiset<int> st;
    for (int i = 1; i <= n; i++) {
      for (int u : adj[v][i]) {
        st.insert(u);
        ans += u;
      }
      while ((int)st.size() > i) {
        ans -= *st.begin();
        st.erase(st.find(*st.begin()));
      }
    }
  }
  cout << ans << '\n';
}
int main() {
  ios_base::sync_with_stdio(0);
  cout.tie(0);
  cin.tie(0);
  cin >> T;
  while (T-- > 0) sol();
}
