#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1000100;
typedef pair<int,int> pii;
#define fi first
#define se second
int t,n,m;
int nums[N],len;
int x[N],y[N],a[N];
bool f[N][4],st[N][2];
int find(int x)
{
	return lower_bound(nums+1,nums+len+1,x)-nums;
}
int main()
{
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d%d",&n,&m);
		len=0;
		for(int i=1;i<=m;++i)
		{	
			scanf("%d%d",x+i,y+i);
			nums[++len]=y[i];
			x[i]--;
		}
		sort(nums+1,nums+len+1);
		len=unique(nums+1,nums+len+1)-(nums+1);
		int sz=len;
		for(int i=2;i<=sz;++i)
		{
			if((nums[i]-nums[i-1])%2==0)
			{	
				nums[++len]=nums[i]-1;
				// if(nums[i]-nums[i-1]>=3)
				// 	nums[++len]=nums[i]-2,nums[++len]=nums[i]-3;
			}
			else if(nums[i]-nums[i-1]>=2)
			{
				nums[++len]=nums[i]-1;
				nums[++len]=nums[i]-2;
			}
		}
		sort(nums+1,nums+len+1);
		for(int i=1;i<=m;++i) y[i]=find(y[i]);
		for(int i=1;i<=len+1;++i)
			for(int j=0;j<4;++j)
			{
				f[i][j]=0;
				if(j<2) st[i][j]=0;
			}
		for(int i=1;i<=m;++i) st[y[i]][x[i]]=1;
		for(int i=1;i<=len;++i)
		{
			a[i]=0;
			for(int j=0;j<2;++j)
				a[i]|=(st[i][j]<<j);
			//cout<<a[i]<<endl;
		}
		f[1][0]=1;
		for(int i=1;i<=len;++i)
		{
			if(f[i][0])
			{
				if(!a[i]) f[i+1][0]=f[i+1][3]=1;
				else
					f[i+1][3-a[i]]=1;	
			}
			for(int j=1;j<4;++j)
				if(f[i][j])
				{
					if(a[i]&j) continue;
					if(!a[i]) f[i+1][3^j]=1;
					else f[i+1][0]=1;
				}
		}
		// for(int i=1;i<=len;++i)
		// {
		// 	for(int j=0;j<3;++j)
		// 		cout<<f[i][j]<<' ';
		// 	cout<<endl;
		// }
		printf(f[len+1][0]?"YES\n":"NO\n");
	}
	return 0;
}