#include<bits/stdc++.h>
using namespace std;

typedef long long             ll;
typedef unsigned long long    ull;
typedef vector<int>           vi;
typedef vector<ll>            vll;
typedef vector<vi>            vvi;
typedef pair<int, int>        pii;
typedef pair<ll, ll>          pll;
typedef complex<double>       point;

#define scf                   scanf
#define prf                   printf
#define f_io                  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0)
#define file_r                freopen("input.txt", "r", stdin)
#define file_w                freopen("output.txt", "w", stdout)

#define all(c)                c.begin(), c.end()
#define sz(c)                 ((int)((c).size()))
//#define pb                    push_back
#define eb                    emplace_back

#define mkp                   make_pair
#define mkt                   make_tuple
#define xf                    first
#define ys                    second

#define getbit(i, mask)       ((mask & (((__typeof(mask))1)<<(i))) != 0)
#define setbit(i, mask)       (mask |= ((__typeof(mask))1)<<(i))
#define clrbit(i, mask)       (mask &= ~(((__typeof(mask))1)<<(i)))
#define togglebit(i, mask)    (mask ^= ((__typeof(mask))1)<<(i))

#define isodd(x)              ((x) & 1)
#define iseven(x)             (!((x) & 1))

#define lp(i, s, e)           for(auto i = s; i < e; ++i)
#define rlp(i, e, s)          for(auto i = e; i > s; --i)
#define lp_(var , c)          for(const auto &var : c)

#define mems(c,val)           memset(c, val, sizeof(c))

#define OOi                   (~(1<<31))
#define OOl                   (~(1LL<<63))

#define PI                    (3.14159265358979)
#define EPS                   (1e-9)

#define watch(x)              cerr << ">> " << (#x) << " = " << (x) << endl

inline int dcmp(double a, double b){
    return fabs(a - b) < EPS ? 0 : a < b ? -1 : +1;
}
//____________________________________________________________________________.

int main(){
	int tc;
	scf("%d", &tc);

	while(tc--){
		int m;
		scf("%*d %d", &m);

		map<int, vi> mp;

		lp(_, 0, m){
			int i, j;
			scf("%d %d", &i, &j);
			i--, j--;

			mp[j].eb(i);
		}

		if(isodd(m)){
			puts("NO");
			continue;
		}

		bool res = 1;

		for(auto it = mp.begin(); it != mp.end(); it++){
			const vi &v = it->ys;

			if(iseven(sz(v))) continue;

			auto nxt = next(it);

			if(nxt == mp.end()){
				res = 0;
				break;
			}

			const vi &w = nxt->ys;

			if(iseven(sz(w))){
				res = 0;
				break;
			}

			int j1 = it->xf, i1 = v.back();
			int j2 = nxt->xf, i2 = w.back();

			if((isodd(j2 - j1) and i1 == i2) or (iseven(j2 - j1) and i1 != i2)){
				it++;
				continue;
			}
			res = 0;
			break;
		}

		puts(res ? "YES": "NO");
	}
	return 0;
}
