#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;
}