#include #include #include #include #include #include #include #define dig(...) fprintf(stderr, __VA_ARGS__) using namespace std; template inline void read(TAT &a) { static char cc; static bool f; while ((cc = getchar()) != '-' && (cc < '0' || cc > '9')); if (cc == '-') f = 1, a = 0; else f = 0, a = cc - 48; while ((cc = getchar()) >= '0' && cc <= '9') a = a * 10 + cc - 48; if (f) a = -a; } template inline void write(TAT a) { static char cc[27]; static int ct; if (a == 0) { putchar('0'); return; } if (a < 0) { a = -a; putchar('-'); } ct = 0; while (a) cc[++ct] = a % 10 + '0', a /= 10; while (ct) putchar(cc[ct--]); } void begin() { freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); } void end() { fclose(stdin); fclose(stdout); } template void Ckmax(TAT &a, const TAT &b) { if (a < b) a = b; } template void Ckmin(TAT &a, const TAT &b) { if (a > b) a = b; } typedef long long LL; const int maxn = 5e4+115; int n; LL Ans = 0; struct item { int l, r; int a, b, c; }A[maxn]; struct Event { int x, kind, tip; Event() {} Event(int _x, int _k, int _t):x(_x), kind(_k), tip(_t) {} }E[maxn * 2]; int et = 0; bool cmp_E(const Event &a, const Event &b) { return a.x < b.x; } void Init() { read(n); Ans = 0; et = 0; for (int i = 1; i <= n; ++i) { read(A[i].l); read(A[i].r); read(A[i].a); read(A[i].b); read(A[i].c); Ans += A[i].c; E[++et] = Event(A[i].l, 0, i); E[++et] = Event(A[i].r, 1, i); } sort(E + 1, E + 1 + et, cmp_E); } void Solve() { int S = 1, T; LL SUM = 0; static bool vis[maxn]; memset(vis, 0, sizeof(vis)); for (int i = 1; i <= n; ++i) SUM += A[i].c; while (S <= et) { T = S; while (T < et && (E[T + 1].x == E[S].x)) ++T; for (int i = S; i <= T; ++i) { if (E[i].kind == 0) { vis[E[i].tip] = 1; SUM -= A[E[i].tip].c; SUM += A[E[i].tip].a; } } Ckmax(Ans, SUM); for (int i = S; i <= T; ++i) { if (E[i].kind == 1) { SUM -= A[E[i].tip].a; SUM += A[E[i].tip].b; } } Ckmax(Ans, SUM); S = T + 1; } write(Ans); putchar('\n'); } int main() { int T; read(T); while (T--) { Init(); Solve(); } return 0; }