#include<bits/stdc++.h>
using namespace std;
#define MAXN 100003
pair<int,int> Time[MAXN];
bool mycmp(const pair<int,int>&a ,const pair<int,int> &b)
{
if(a.second==b.second)
return (a.first<=b.first);
else
return (a.second <=b.second);
}
int maxActivities(int n)
{
int i,j,f,c;
f=Time[0].second;
i=1;c=1;
while(i<n)
{
while(i<n && Time[i].first<f)
i++;
if(i==n)
break;
f=Time[i].second;
c++;
i++;
}
return c;
}
int main()
{
int T,n;
int i,j;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d %d",&(Time[i].first),&(Time[i].second));
sort(Time,Time+n,mycmp);
// printf("max no of activities that can be performed is %d\n",maxActivities(n));
printf("%d\n",maxActivities(n));
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBNQVhOIDEwMDAwMwpwYWlyPGludCxpbnQ+IFRpbWVbTUFYTl07CmJvb2wgbXljbXAoY29uc3QgIHBhaXI8aW50LGludD4mYSAsY29uc3QgIHBhaXI8aW50LGludD4gJmIpCnsKICAgIGlmKGEuc2Vjb25kPT1iLnNlY29uZCkKICAgICAgICByZXR1cm4gKGEuZmlyc3Q8PWIuZmlyc3QpOwogICAgZWxzZQogICAgICAgIHJldHVybiAoYS5zZWNvbmQgPD1iLnNlY29uZCk7Cn0KaW50IG1heEFjdGl2aXRpZXMoaW50IG4pCnsKICAgIGludCBpLGosZixjOwoKCiAgICBmPVRpbWVbMF0uc2Vjb25kOwogICAgaT0xO2M9MTsKICAgIHdoaWxlKGk8bikKICAgIHsKICAgICAgICB3aGlsZShpPG4gJiYgVGltZVtpXS5maXJzdDxmKQogICAgICAgICAgICBpKys7CiAgICAgICAgaWYoaT09bikKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGY9VGltZVtpXS5zZWNvbmQ7CiAgICAgICAgYysrOwogICAgICAgIGkrKzsKCiAgICB9CgogICAgcmV0dXJuIGM7Cn0KaW50IG1haW4oKQp7CiAgICBpbnQgVCxuOwogICAgaW50IGksajsKCiAgICBzY2FuZigiJWQiLCZUKTsKICAgIHdoaWxlKFQtLSkKICAgIHsKICAgICAgICBzY2FuZigiJWQiLCZuKTsKICAgICAgICBmb3IoaT0wO2k8bjtpKyspCiAgICAgICAgICAgIHNjYW5mKCIlZCAlZCIsJihUaW1lW2ldLmZpcnN0KSwmKFRpbWVbaV0uc2Vjb25kKSk7CgogICAgICAgIHNvcnQoVGltZSxUaW1lK24sbXljbXApOwoKLy8gICAgICAgIHByaW50ZigibWF4IG5vIG9mIGFjdGl2aXRpZXMgdGhhdCBjYW4gYmUgcGVyZm9ybWVkIGlzICVkXG4iLG1heEFjdGl2aXRpZXMobikpOwogICAgICAgIHByaW50ZigiJWRcbiIsbWF4QWN0aXZpdGllcyhuKSk7CiAgICB9CgoKICAgIHJldHVybiAwOwp9