1 #include<stdio.h>
2 #include<string.h>
3 int addv[100005],minv[100005],fmin,y1,y2,v,l[20005],d[20005],len[20005];
4 int min(int x,int y)
5 {
6 if (x<y) return x;
7 return y;
8 }
9 void update(int o,int l,int r)
10 {
11 int lc=o*2,rc=o*2+1;
12 if (y1<=l&&y2>=r) addv[o]+=v;
13 else{
14 int mid=l+(r-l)/2;
15 if (y1<=mid) update(lc,l,mid);
16 if (y2>mid) update(rc,mid+1,r);
17 }
18 if (l!=r) minv[o]=min(minv[lc],minv[rc]);
19 minv[o]+=addv[o];
20 }
21 void query(int o,int l,int r,int add)
22 {
23 if (y1<=l&&y2>=r) fmin=min(fmin,minv[o]+add);
24 else{
25 int mid=l+(r-l)/2;
26 if (y1<=mid) query(o*2,l,mid,add+addv[o]);
27 if (y2>mid) query(o*2+1,mid+1,r,add+addv[o]);
28 }
29 }
30 void sort(int ll,int rr)
31 {
32 int i=ll,j=rr,x=l[(i+j)/2],y;
33 while (i<=j)
34 {
35 while (l[i]<x) i++;
36 while (x<l[j]) j--;
37 if (i<=j)
38 {
39 y=l[i]; l[i]=l[j]; l[j]=y;
40 y=d[i]; d[i]=d[j]; d[j]=y;
41 i++; j--;
42 }
43 }
44 if (ll<j) sort(ll,j);
45 if (i<rr) sort(i,rr);
46 }
47 int main()
48 {
49 int T,n,i,ans;
50 scanf("%d",&T);
51 while (T--)
52 {
53 scanf("%d",&n);
54 for (i=1;i<=n;i++)
55 {
56 d[2*i-1]=2*i-1; d[2*i]=2*i;
57 scanf("%d%d",&l[2*n-2*(i-1)-1],&l[2*n-2*(i-1)]);
58 }
59 sort(1,2*n);
60 len[d[1]]=1;
61 for (i=2;i<=2*n;i++)
62 if (l[i]!=l[i-1]) len[d[i]]=i;
63 else len[d[i]]=len[d[i-1]];
64 memset(addv,0,sizeof(addv));
65 memset(minv,0,sizeof(minv));
66 ans=0;
67 for (i=1;i<=n;i++)
68 {
69 fmin=0x3f3f3f3f; y1=len[2*i-1]; y2=len[2*i];
70 query(1,1,2*n,0);
71 if (fmin==0) ans++;
72 v=1; update(1,1,2*n);
73 }
74 printf("%d\n",ans);
75 }
76 }