cut(root,l,r,k);
if(l!=nil){
b=true;
x=l;
while(T[x].r!=nil)f=x,x=T[x].r;
if(f==nil)merge(l,T[x].l,T[x].r);
else merge(T[f].r,T[x].l,T[x].r);//删除x
}
merge(root,l,r);
return b;
}
void dfs(int x){
if(x==nil)return;
dfs(T[x].l);
cout<
}
};
/***********************************************/
int main(){
scanf("%d",&T);
while(T--){
scanf("%d",&n);
for(i=0;i
sort(a,a+2*n);
ans=0;
Treap treap;
/*for(i=0;i<10;i++)treap.insert(i);
treap.find(5);
treap.dfs(treap.root);cout<
if(a[i].id==1){
if(treap.find(a[i].h))ans++;
}else treap.insert(a[i].h);
}
printf("%d\n",ans);
}
return 0;
}