#include using namespace std; #define Dv(v) for (auto x : v) cerr << x << ' '; cerr << endl; #define D(x) cerr << #x << " = " << x << ", " using ll = long long; using vi = vector; using vvi = vector; const int K = 100; struct BigInt { vi bits; BigInt() { bits = vi(K+2); } void add(int bt) { for (int i=bt; i <= K+1; ++i) { if (bits[i]) { bits[i] = 0; } else { bits[i] = 1; break; } } } bool eq3() { if (!bits[K] || !bits[K+1]) { return false; } for (int i=0; i < K; ++i) { if (bits[i]) return false; } return true; } bool gt3() { if (!bits[K] || !bits[K+1]) { return false; } for (int i=0; i < K; ++i) { if (bits[i]) return true; } return false; } }; int main() { ios::sync_with_stdio(false); cin.tie(0); int T; cin >> T; while(T--) { BigInt b; int n; cin >> n; bool eps = false; for (int i=0; i < n; ++i) { int x, y; cin >> x >> y; int pt = (x+y); if (pt > K) { eps = true; } else { b.add(K-pt); if (b.gt3()) break; } } bool good = (!b.gt3() && (!eps || !b.eq3())); cout << (good ? "YES\n" : "NO\n"); } }