#include #define all(a) a.begin(),a.end() #define len(a) (int)(a.size()) #define fir first #define sec second #define fi first #define se second #define mp make_pair #define pb push_back using namespace std; typedef pair pii; typedef long long ll; typedef long double ld; template bool umin(T &a, T b) { if (b < a) { a = b; return 1; } return 0; } template bool umax(T &a, T b) { if (a < b) { a = b; return 1; } return 0; } #ifdef KIVI #define DEBUG for (int _____DEBUG=1;_____DEBUG;_____DEBUG=0) #define LOG(...) prnt(#__VA_ARGS__" ::",__VA_ARGS__)< auto &prnt(Ts ...ts) { return ((cerr << ts << " "), ...); } #else #define DEBUG while (false) #define LOG(...) #endif const int max_n = -1, inf = 1000111222; void solve() { int n; cin >> n; vector v(n); for (int i = 0; i < n; i++) { cin >> v[i].fir >> v[i].sec; } int mx = 0; for (int i = 0; i < n; i++) { mx = max(mx, v[i].fir + v[i].sec); } set left; set right; auto add = [&](set &s, int val) { while (s.count(val)) { s.erase(val); val++; } s.insert(val); }; auto cmp = [&](set a, set b) { if (a==b){ return 0; } vector aa(all(a)); vector bb(all(b)); reverse(all(aa)); reverse(all(bb)); return aa>tests; while (tests--){ solve(); } exit(0); }