#include<stdio.h>
#include<cstring>
#include<algorithm>
#define Max(x,y) x>y?x:y
using namespace std;
struct node
{
int x,y;
}q[1100];
int n,res[1100];
bool cmp(node a,node b)
{
if(a.x==b.x)
return a.y<b.y;
return a.x<b.x;
}
int main()
{
int i,j,t;
//freopen("D:\\o.txt", "r", stdin);
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for(i=0;i<n;i++)
res[i]=1;
for(i=0;i<n;i++)
{
scanf("%d%d",&q[i].x,&q[i].y);
if(q[i].x>q[i].y)
{
int temp=q[i].x;
q[i].x=q[i].y;
q[i].y=temp;
}
}
sort(q,q+n,cmp);
for(i=1;i<n;i++)
{
for(j=0;j<=i;j++)
if(q[i].x>q[j].x&&q[i].y>q[j].y)
{
res[i]=Max(res[i],res[j]+1);
}
}
printf("%d\n",res[n-1]);
}
return 0;
}