#include<iostream>//经典贪心会议安排
#include<algorithm>
#include<cmath>
using namespace std;
struct F {
double begin;
double end;
}s[10001];

bool cmp(F a, F b)
{
return a.end < b.end;//按照结束时间排序
}

int main()
{
int T;
int N;
while (cin >> T)
{
while (T--)
{
while (cin >> N)
{
int count = 1;
for (int i = 0; i < N; i++)
{
cin >> s[i].begin >> s[i].end;
}
sort(s, s + N, cmp);
int last = s[0].end;
for (int i = 1; i < N; i++)
{
if (last < s[i].begin)//每一步的选择
{
last = s[i].end;
count++;
}
}
cout << count << endl;
}
}
}
return 0;
}