#include using namespace std; // subtask 2 int main() { int T; cin >> T; assert(T <= 10); while (T--) { int N, M; cin >> N >> M; vector A(M), B(M); for (int i = 0; i < M; i++) { cin >> A[i] >> B[i]; A[i]--; } assert(N <= 8); vector P(N); iota(P.begin(), P.end(), 0); bool ok = false; do { for (int j = 0; j < (1 << (N - M)); j++) { vector S(N, 1); bool valid = true; for (int i = 0; i < N - M; i++) { int l = P[i] % N, r = (P[i] + 1) % N; if (S[l] == 0 || S[r] == 0) valid = false; if ((j >> i) & 1) { S[r] += S[l]; S[l] = 0; } else { S[l] += S[r]; S[r] = 0; } } for (int i = 0; i < M; i++) { if (S[A[i]] != B[i]) valid = false; } if (valid) ok = 1; } } while (next_permutation(P.begin(), P.end())); if (ok) cout << "Yes" << endl; else cout << "No" << endl; } return 0; }