#include <bits/stdc++.h>
using namespace std;
int main() {
int t;
cin >> t;
while (t--) {
int n;
cin >> n;
int lim = n + 64, ans = 0;
long long ex = 0;
vector<long long> a(lim + 1);
for (int i = 0; i < n; i++) {
int x;
long long y;
cin >> x >> y;
ans = max(ans, x);
if (x > lim) ex += y;
else a[x] = y;
}
auto f = [&](int k, long long ex) {
long long cnt = 1;
for (int i = lim; i >= 1; i--) {
if (cnt > (long long)1e16) break;
if (i >= k) ex += a[i];
else if (a[i] >= cnt) ex += a[i] - cnt;
else cnt += cnt - a[i];
}
return cnt <= a[0] + ex;
};
int lo = 1, hi = lim, ch = 0;
while (lo < hi) {
int mid = (lo + hi + ch) / 2;
ch ^= 1;
if (f(mid, ex)) lo = mid;
else hi = mid - 1;
}
cout << max(ans, lo) << '\n';
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIGludCB0OwogICAgY2luID4+IHQ7CiAgICB3aGlsZSAodC0tKSB7CiAgICAgICAgaW50IG47CiAgICAgICAgY2luID4+IG47CiAgICAgICAgaW50IGxpbSA9IG4gKyA2NCwgYW5zID0gMDsKICAgICAgICBsb25nIGxvbmcgZXggPSAwOwogICAgICAgIHZlY3Rvcjxsb25nIGxvbmc+IGEobGltICsgMSk7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICAgICAgaW50IHg7CiAgICAgICAgICAgIGxvbmcgbG9uZyB5OwogICAgICAgICAgICBjaW4gPj4geCA+PiB5OwogICAgICAgICAgICBhbnMgPSBtYXgoYW5zLCB4KTsKICAgICAgICAgICAgaWYgKHggPiBsaW0pIGV4ICs9IHk7CiAgICAgICAgICAgIGVsc2UgYVt4XSA9IHk7CiAgICAgICAgfQogICAgICAgIGF1dG8gZiA9IFsmXShpbnQgaywgbG9uZyBsb25nIGV4KSB7CiAgICAgICAgICAgIGxvbmcgbG9uZyBjbnQgPSAxOwogICAgICAgICAgICBmb3IgKGludCBpID0gbGltOyBpID49IDE7IGktLSkgewogICAgICAgICAgICAgICAgaWYgKGNudCA+IChsb25nIGxvbmcpMWUxNikgYnJlYWs7CiAgICAgICAgICAgICAgICBpZiAoaSA+PSBrKSBleCArPSBhW2ldOwogICAgICAgICAgICAgICAgZWxzZSBpZiAoYVtpXSA+PSBjbnQpIGV4ICs9IGFbaV0gLSBjbnQ7CiAgICAgICAgICAgICAgICBlbHNlIGNudCArPSBjbnQgLSBhW2ldOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBjbnQgPD0gYVswXSArIGV4OwogICAgICAgIH07CiAgICAgICAgaW50IGxvID0gMSwgaGkgPSBsaW0sIGNoID0gMDsKICAgICAgICB3aGlsZSAobG8gPCBoaSkgewogICAgICAgICAgICBpbnQgbWlkID0gKGxvICsgaGkgKyBjaCkgLyAyOwogICAgICAgICAgICBjaCBePSAxOwogICAgICAgICAgICBpZiAoZihtaWQsIGV4KSkgbG8gPSBtaWQ7CiAgICAgICAgICAgIGVsc2UgaGkgPSBtaWQgLSAxOwogICAgICAgIH0KICAgICAgICBjb3V0IDw8IG1heChhbnMsIGxvKSA8PCAnXG4nOwogICAgfQp9Cg==