#include
#include
#include
using namespace std;
#define maxn 5005
typedef struct node{
int x,y;
}Point;
//int cmp(Point p1,Point p2){
// if(p1.x<=p2.x&&p1.y<=p2.y)return true;
// else if(p1.x>=p2.x&&p1.y>=p2.y)return false;
//}
Point point[maxn];
int cmp(Point p1,Point p2){
if(p1.xreturn true;
return false;
}
int main(){
int t,n,sum,i,j,tmp_x,tmp_y;
bool flag[maxn];
scanf("%d",&t);
while(t--){
scanf("%d",&n);
for(i=0;i){
scanf("%d%d",&point[i].x,&point[i].y);
}
sort(point,point+n,cmp);
memset(flag,false,sizeof flag);
sum = 0;
for(j=0;j){
i=0;
while(i;
if(i==n)break;
tmp_x = point[i].x;
tmp_y = point[i].y;
for(;i){
if(!flag[i]&&point[i].x>=tmp_x&&point[i].y>=tmp_y){
flag[i] = true;
tmp_x = point[i].x;
tmp_y = point[i].y;
}
}
sum++;
}
cout<endl;
}
return 0;
}