#include <bits/stdc++.h>
using namespace std;
using llong = long long;
using ldbl = long double;
using lpair = pair<llong, llong>;
using llpair = pair<lpair, lpair>;
constexpr llong mod = 1e9 + 7;
constexpr llong inf = mod * mod;
int main() {
  llong T;
  cin >> T;
  while (T--) {
    llong N;
    vector<vector<lpair>> l, r;
    priority_queue<llpair> que;
    set<llong> s, lused, rused;
    cin >> N;
    for (int i = 1; i <= N; i++) {
      llong K, L, R;
      cin >> K >> L >> R;
      que.push(llpair(lpair(abs(L - R), K), lpair(L, R)));
      s.insert(i);
    }
    s.insert(0);
    s.insert(N + 1);
    lused.insert(0);
    lused.insert(N + 1);
    rused.insert(0);
    rused.insert(N + 1);
    llong ans = 0;
    while (que.size()) {
      llpair now = que.top();
      que.pop();
      llong K = now.first.second;
      llong L = now.second.first;
      llong R = now.second.second;
      if (L > R) {
        if (int idx = *(--s.upper_bound(K)); idx > 0) {
          s.erase(idx);
          ans += L;
          lused.insert(idx);
        } else if (int idx2 = *(--rused.upper_bound(K)); idx2 > 0) {
          rused.erase(idx2);
          lused.insert(idx2);
          ans += L;
        } else {
          ans += R;
        }
      } else {
        if (int idx = *(s.upper_bound(K)); idx <= N) {
          s.erase(idx);
          ans += R;
          rused.insert(idx);
        } else if (int idx2 = *(lused.upper_bound(K)); idx2 <= N) {
          lused.erase(idx2);
          rused.insert(idx2);
          ans += R;
        } else {
          ans += L;
        }
      }
    }
    cout << ans << endl;
  }
  return 0;
}
