#include using namespace std; using ll=long long; //#define int ll #define rep(i,a,b) for(int i=a;i<(b);i++) #define sz(x) (int)(x).size() #define all(x) begin(x), end(x) using pii=pair; using vi=vector; #define fi first #define se second #define pb push_back vector ones; const int N = 2e9+100; const int M = N - 50; unordered_map a; //int a[N]; //int b[N]; void add(int m) { a[m]++; ones.pb(m); while (a[m] > 1) { a[m] -= 2; a[m + 1]++; //ones.pb(m + 1); m++; } } void solve() { //ones.clear(); a.clear(); int n; cin>>n; for (int i=0; i>x>>y; add(M-x-y); } add(M); int mx = -1; for (auto [x, y] : a) if (y > 0) mx = max(mx, x); if (mx < M+2) cout<<"YES\n"; else cout<<"NO\n"; for (int i : ones) a[i] = 0; } signed main() { cin.tie(0)->sync_with_stdio(0); cin.exceptions(cin.failbit); a.reserve(2e6); int t; cin>>t; // b[M] = b[M+1] = 1; for (int i=0; i