#include using namespace std; int main() { int t, n, c, d; scanf("%d", &t); while (t--) { scanf("%d", &n); bool contains = false; set cur; set> tiles; while (n--) { scanf("%d%d", &c, &d); tiles.emplace(c, d); int k = c + d; if (!k) contains = true; if (c == 0 || d == 0) continue; while (cur.count(k)) { cur.erase(k); k--; } cur.insert(k); } if (!contains) { printf("YES\n"); continue; } vector v(cur.begin(), cur.end()); int a = 0, b = 0; while (tiles.count({0, a})) a++; while (tiles.count({b, 0})) b++; if (a > b) swap(a, b); if (v.empty()) printf("YES\n"); else if (a == b) { a--; if (v[0] > a) printf("YES\n"); else printf("NO\n"); } else if (v[0] > a || (v[0] == a && (v.size() == 1 || v[1] > b))) printf("YES\n"); else printf("NO\n"); } }