#include<bits/stdc++.h>
using namespace std;
const int N=1e5+100,M=2e5+100,inf=1e9;
int T,n,u,v,w,cnt,head[N],vis[N],dis[N],tot[N];
struct edge{int nxt,to,dis;}e[M<<1];
void add(int a,int b,int c){++cnt,e[cnt].to=b,e[cnt].nxt=head[a],e[cnt].dis=c,head[a]=cnt;}
int spfa(int s){
queue<int>q;
for(int i=1;i<=n;i++)dis[i]=-inf,vis[i]=0,tot[i]=0;
q.push(s),vis[s]=1,dis[s]=0;
while(!q.empty()){
int x=q.front();q.pop();
vis[x]=0;
for(int i=head[x];i;i=e[i].nxt){
int y=e[i].to;
if(dis[y]<dis[x]+e[i].dis){
dis[y]=dis[x]+e[i].dis;
if(!vis[y]){
q.push(y),vis[y]=1,tot[y]++;
if(tot[y]==n+1)return 1;
}
}
}
}return 0;
}int main(){
cin>>T;
while(T--){
cnt=0,memset(e,0,sizeof 0),memset(head,0,sizeof head);
int mn=1e9,mx=0;
cin>>n;
for(int i=1;i<=n;i++)cin>>u>>v>>w,add(u,v+1,w),mn=min(mn,u),mx=max(mx,v+1);
for(int i=mn;i<mx;i++)add(i,i+1,0),add(i+1,i,-1);
spfa(mn),cout<<dis[mx];if(T)puts("");
}return 0;
}