#include "testlib.h" #include using namespace std; using ll = long long; const int MAX_T = 200'000; const int MIN_N = 3; const int MAX_N = 1'000'000'000; const int MAX_M = 200'000; int main(int argc, char* argv[]) { registerValidation(argc, argv); int T = inf.readInt(1, MAX_T, "T"); int smM = 0; inf.readEoln(); while(T--) { int N = inf.readInt(MIN_N, MAX_N, "N"); inf.readSpace(); int M = inf.readInt(1, min(MAX_M, N), "M"); smM += M; inf.readEoln(); vector A(M), B(M); int bfA = 0; for(int i = 0; i < M; i++) { A[i] = inf.readInt(1, N, "A_"+to_string(i)); inf.readSpace(); B[i] = inf.readInt(1, N, "B_"+to_string(i)); inf.readEoln(); inf.ensuref(bfA < A[i], "invalid A"); bfA = A[i]; } inf.ensuref(reduce(B.begin(), B.end()) == N, "invalid B"); for(auto& a : A) a--; vector sB(M + 1, 0); for(int i = 0; i < M; i++) sB[i + 1] = sB[i] + B[i]; int L = -2*N, R = 2*N; for(int i = 0; i < M; i++) { int l = A[i] - sB[i + 1]; int r = A[i] - sB[i]; L = max(l, L); R = min(r, R); } if(L < R) cout << "Yes\n"; else cout << "No\n"; } inf.readEof(); inf.ensuref(smM <= MAX_M, "invalid sum M"); }