P3395
#include "stdio.h"
int n,t,a[1005][1005];
int v[4][2]={0,1,0,-1,1,0,-1,0};
int b[1005][1005];
struct str
{
int x;
int y;
}que[1000005];
int bfs(int n)
{
if(n==1) return 1;
int i,j,head=0,tail=0,x,y,k=1;
que[head].x=n;
que[head].y=1;
tail++;
b[n][1]=1;
while(head<tail)
{
if(k<=2*n-2)
{
scanf("%d%d",&x,&y);
a[n-x+1][y]=1;
k++;
}
for(i=0;i<4;i++)
{
int tx=que[head].x+v[i][0];
int ty=que[head].y+v[i][1];
if(tx<1||tx>n||ty<1||ty>n||b[tx][ty]==1||a[tx][ty]==1)
continue;
b[tx][ty]=1;
que[tail].x=tx;
que[tail].y=ty;
if(tx==1&&ty==n) return 1;
tail++;
}
head++;
}
return 0;
}
main()
{
int i,j,x,y;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
if(bfs(n))
printf("Yes\n");
else printf("No\n");
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]=b[i][j]=0;
}
}