{?
??? tree[u].l=l;?
??? tree[u].r=r;?
??? tree[u].flag=0;?
??? if(l==r)return ;?
??? int mid=(l+r)>>1;?
??? build_tree(l,mid,LL(u));?
??? build_tree(mid+1,r,RR(u));?
}?
?
void update(int l,int r,int u,int i)?
{?
??? if(l>tree[u].r||r
??? {?
??????? tree[u].flag=i;?
??????? return ;?
??? }?
??? if(tree[u].flag > 0 && tree[u].flag != i)?
??? {?
??????? tree[LL(u)].flag = tree[u].flag;?
??????? tree[RR(u)].flag= tree[u].flag;?
??????? tree[u].flag = 0;?
??? }?
??? int mid=(tree[u].l+tree[u].r)>>1;?
??? if(r<=mid)?
??????? update(l,r,LL(u),i);?
??? else if(l>mid)?
??????? update(l,r,RR(u),i);?
??? else?
??? {?
??????? update(l,mid,LL(u),i);?
??????? update(mid+1,r,RR(u),i);?
??? }?
??? if(tree[LL(u)].flag==tree[RR(u)].flag)?
??????? tree[u].flag=tree[LL(u)].flag;?
??? else?
??????? tree[u].flag=0;?
}?
?
int ans;?
int yinshe[20005];?
int visit[10000005];?
bool visit1[20005];?
?
void query(int l,int r,int u)?
{?
??? if(tree[u].flag&&!visit1[tree[u].flag])?
??????? return ;?
??? if(tree[u].flag)?
??????? ans+=visit1[tree[u].flag];?
??????? visit1[tree[u].flag]=0;?
??????? return ;?
??? }?
??? int mid=(l+r)>>1;?
??? query(l,mid,LL(u));?
??? query(mid+1,r,RR(u));?
}?
?
int main()?
{?
??? int i,j,k,l,n,m,T;?
??? scanf("%d",&T);?
??? int a,b;?
??? while(T--)?
??? {?
??????? memset(visit1,1,sizeof(visit1));?
??????? memset(visit,0,sizeof(visit));?
??????? memset(yinshe,0,sizeof(yinshe));?
??????? scanf("%d",&n);?
??????? int num=1;?
???????? for(i=1; i<=n; i++)?
???????? {?
???????????? scanf("%d%d",&aa[i],&bb[i]);?
???????????? if(!visit[aa[i]])?
???????????? {?
???????????????? yinshe[num]=aa[i];?
???????????????? visit[aa[i]]=1;?
???????????????? num++;?
???????????? }?
???????????? if(!visit[bb[i]])?
???????????? {?
???????????????? yinshe[num]=bb[i];?
???????????????? visit[bb[i]]=1;?
???????????????? num++;?
???????????? }?
???????? }?
???????? sort(yinshe+1,yinshe+num);?
???????? for(i=1; i
???????? build_tree(1,num-1,1);?
??????? for(i=1;i<=n;i++)?
??????? update(visit[aa[i]],visit[bb[i]],1,i);?
??????? ans=0;?
??????? query(1,num-1,1);?
??????? printf("%d\n",ans);?
??? }?
??? return 0;?
}?