#include<bits/stdc++.h>
using namespace std;
#define F first
#define S second
#define mp make_pair
#define pb(v,x) v.push_back(x)
#define ins(s, x) s.insert(x)
#define nl cout<<endl
#define no cout<<"No"<<endl
#define yes cout<<"Yes"<<endl
#define mone cout<<"-1"<<endl
#define zero cout<<"0"<<endl
#define incs(v) sort(v.begin(), v.end())
#define rev(s) reverse(s.begin(), s.end())
#define ps(x, cmp) sort(x.begin(),x.end(),cmp)
#define onesll(x) __builtin_popcountll(x)
#define trailZero(x) __builtin_ctzll(x)
#define checkSort(v) is_sorted(v.begin(), v.end())
#define f(i,k,n) for(ll i = k; i < n ;i ++)
#define fr(i, k, l) for(ll i = k - 1; i >= l; i--)
#define fsq(i, j, k) for(ll i = j; i * i <= k; i ++)
#define fm(val, m) for(auto val : m)
#define freq(v,num) count(v.begin(), v.end(), num)
#define max_vect(v) *max_element(v.begin(), v.end())
#define min_vect(v) *min_element(v.begin(), v.end())
#define sum_vect(v) accumulate(v.begin(), v.end(), 0LL)
#define consec(v, l) iota(v.begin(), v.end(), l);
#define all(v) v.begin(), v.end()
#define srch(v, x) find(v.begin(), v.end(), x)
#define rot(v, x) rotate(v.begin(), v.begin() + x, v.end());
#define lob(v, x) lower_bound(v.begin(), v.end(), x)
#define ub(v, x) upper_bound(v.begin(), v.end(), x)
#define permute(v) next_permutation(v.begin(), v.end())
#define vpll vector <pair<long long,long long>>
#define vll vector<long long>
#define vvll vector<vector<long long>>
#define vs vector<string>
#define mll map<long long,long long>
#define msl map<string, long long>
#define mcl map<char, long long>
#define sl set<long long>
#define ss set<string>
#define cout(v) for(ll i = 0 ; i < v.size(); i ++) {cout<<v[i]<<" ";}
#define coutp(v) for(ll i = 0 ; i < v.size(); i ++) {cout<<v[i].F<<" "<<v[i].S<<endl;}
#define w(t) long long t; cin>>t; while(t--)
#define fast_io ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0)
#define llmax LLONG_MAX
#define llmin LLONG_MIN
typedef long double ld;
typedef double db;
typedef long long ll;
const ll mod = 998244353;
const ll MOD = 1e9 + 7;
const ll Inf = 999999937;
const db pi = 3.1415926535897932384626;
const ll P = 31;
const ll N = 1e7 + 10;
/* 2d Vector Input------------------------------------------------------------------------------------- */
void input2d(vvll &v, ll n, ll m) {
ll x;
f(i, 0, n) {
vll u;
f(j, 0, m) {
cin >> x; pb(u, x);
}
pb(v, u);
}
}
/* 1d Vector Input------------------------------------------------------------------------------------- */
void input(vll &v, ll n) {
ll x;
f(i, 0, n) {
cin >> x; pb(v, x);
}
}
/* Vector Pair Input------------------------------------------------------------------------------------- */
void inputp(vpll &v, ll n) {
ll x, y;
f(i, 0, n) {
cin >> x >> y; pb(v, mp(x, y));
}
}
/* Binary Exponentiation------------------------------------------------------------------------------- */
ll pw(ll a, ll b, ll mod = MOD) {
ll y;
if (!a) return 0;
if (!b) return (1 + mod) % mod;
if(b & 1) y = ((a % mod) * (pw(a, b - 1, mod) % mod)) % mod;
else {
y = pw(a, b / 2, mod);
y = ((y % mod) * (y % mod)) % mod;
}
return (y + mod) % mod;
}
/*LCM of Array__O(n * log(min(a, b)))------------------------------------------------------------------ */
ll lcm(vll &v) {
ll n = v.size(), ans = v[0];
f(i, 1, n)ans = (v[i] * ans) / __gcd(v[i], ans);
return ans;
}
/* Seive__Algorithm__O(n * log(log N))----------------------------------------------------------------- */
vll seive;
void create() {
seive.resize (N + 1);
f (i, 0, N + 1) seive[i] = i;
seive[0] = seive[1] = 1e9;
for(ll i = 2; i * i <= N; i ++) {
if(seive[i] == i) {
for(ll j = i * i; j <= N; j += i) {
if (seive[j] == j) seive[j] = i;
}
}
}
}
/*----------------------------------------------------------------------------------------------------- */
void solve () {
ll n; cin >> n;
set <ll> st;
f (i, 1, n + 1) ins (st, i);
vll v (n + 1, 0);
ll ct = 0, ans = 0;
while (ct < 10) {
ll o = 0, z;
mll m;
fm (val, st) {
cout << "? " << val << " 1" << endl;
ll x; cin >> x;
if (x) {
o ++; m[val] ++;
}
}
z = st.size () - o;
ll x = (1 << ct);
o = (o + x - 1) / x; z = (z + x - 1) / x;
if (o == z) {
if (z % x == 0) {
ans += (1 << ct);
fm (val, m) if (val.S == 1) st.erase (val.S);
}
else {
fm (val, m) if (val.S == 0) st.erase (val.S);
}
}
else {
if (o % x == 0) {
fm (val, m) if (val.S == 0) st.erase (val.S);
}
else {
ans += (1 << ct);
fm (val, m) if (val.S == 1) st.erase (val.S);
}
}
cout << st.size () << endl;
ct ++;
}
}
int main() {
fast_io;
int t; cin >> t;
for (int i = 1; i <= t; i ++) {
solve ();
}
return 0;
}
/*----------------------------------------------------------------------------------------------------- */
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgRiAgICAgICAgICAgICAgIGZpcnN0CiNkZWZpbmUgUyAgICAgICAgICAgICAgIHNlY29uZAojZGVmaW5lIG1wICAgICAgICAgICAgICBtYWtlX3BhaXIKCiNkZWZpbmUgcGIodix4KSAgICAgICAgIHYucHVzaF9iYWNrKHgpCiNkZWZpbmUgaW5zKHMsIHgpICAgICAgIHMuaW5zZXJ0KHgpCgojZGVmaW5lIG5sICAgICAgICAgICAgICBjb3V0PDxlbmRsCiNkZWZpbmUgbm8gICAgICAgICAgICAgIGNvdXQ8PCJObyI8PGVuZGwKI2RlZmluZSB5ZXMgICAgICAgICAgICAgY291dDw8IlllcyI8PGVuZGwKI2RlZmluZSBtb25lICAgICAgICAgICAgY291dDw8Ii0xIjw8ZW5kbAojZGVmaW5lIHplcm8gICAgICAgICAgICBjb3V0PDwiMCI8PGVuZGwKCiNkZWZpbmUgaW5jcyh2KSAgICAgICAgIHNvcnQodi5iZWdpbigpLCB2LmVuZCgpKQojZGVmaW5lIHJldihzKSAgICAgICAgICByZXZlcnNlKHMuYmVnaW4oKSwgcy5lbmQoKSkKI2RlZmluZSBwcyh4LCBjbXApICAgICAgc29ydCh4LmJlZ2luKCkseC5lbmQoKSxjbXApCiNkZWZpbmUgb25lc2xsKHgpICAgICAgIF9fYnVpbHRpbl9wb3Bjb3VudGxsKHgpCiNkZWZpbmUgdHJhaWxaZXJvKHgpICAgIF9fYnVpbHRpbl9jdHpsbCh4KQojZGVmaW5lIGNoZWNrU29ydCh2KSAgICBpc19zb3J0ZWQodi5iZWdpbigpLCB2LmVuZCgpKQoKI2RlZmluZSBmKGksayxuKSAgICAgICAgZm9yKGxsIGkgPSBrOyBpIDwgbiA7aSArKykKI2RlZmluZSBmcihpLCBrLCBsKSAgICAgZm9yKGxsIGkgPSBrIC0gMTsgaSA+PSBsOyBpLS0pCiNkZWZpbmUgZnNxKGksIGosIGspICAgIGZvcihsbCBpID0gajsgaSAqIGkgPD0gazsgaSArKykKI2RlZmluZSBmbSh2YWwsIG0pICAgICAgZm9yKGF1dG8gdmFsIDogbSkKCiNkZWZpbmUgZnJlcSh2LG51bSkgICAgIGNvdW50KHYuYmVnaW4oKSwgdi5lbmQoKSwgbnVtKQojZGVmaW5lIG1heF92ZWN0KHYpICAgICAqbWF4X2VsZW1lbnQodi5iZWdpbigpLCB2LmVuZCgpKQojZGVmaW5lIG1pbl92ZWN0KHYpICAgICAqbWluX2VsZW1lbnQodi5iZWdpbigpLCB2LmVuZCgpKQojZGVmaW5lIHN1bV92ZWN0KHYpICAgICBhY2N1bXVsYXRlKHYuYmVnaW4oKSwgdi5lbmQoKSwgMExMKQojZGVmaW5lIGNvbnNlYyh2LCBsKSAgICBpb3RhKHYuYmVnaW4oKSwgdi5lbmQoKSwgbCk7CiNkZWZpbmUgYWxsKHYpICAgICAgICAgIHYuYmVnaW4oKSwgdi5lbmQoKQojZGVmaW5lIHNyY2godiwgeCkgICAgICBmaW5kKHYuYmVnaW4oKSwgdi5lbmQoKSwgeCkKI2RlZmluZSByb3QodiwgeCkgICAgICAgcm90YXRlKHYuYmVnaW4oKSwgdi5iZWdpbigpICsgeCwgdi5lbmQoKSk7CiNkZWZpbmUgbG9iKHYsIHgpICAgICAgIGxvd2VyX2JvdW5kKHYuYmVnaW4oKSwgdi5lbmQoKSwgeCkKI2RlZmluZSB1Yih2LCB4KSAgICAgICAgdXBwZXJfYm91bmQodi5iZWdpbigpLCB2LmVuZCgpLCB4KQojZGVmaW5lIHBlcm11dGUodikgICAgICBuZXh0X3Blcm11dGF0aW9uKHYuYmVnaW4oKSwgdi5lbmQoKSkKCiNkZWZpbmUgdnBsbCAgICAgICAgICAgIHZlY3RvciA8cGFpcjxsb25nIGxvbmcsbG9uZyBsb25nPj4KI2RlZmluZSB2bGwgICAgICAgICAgICAgdmVjdG9yPGxvbmcgbG9uZz4KI2RlZmluZSB2dmxsICAgICAgICAgICAgdmVjdG9yPHZlY3Rvcjxsb25nIGxvbmc+PgojZGVmaW5lIHZzICAgICAgICAgICAgICB2ZWN0b3I8c3RyaW5nPgoKI2RlZmluZSBtbGwgICAgICAgICAgICAgbWFwPGxvbmcgbG9uZyxsb25nIGxvbmc+CiNkZWZpbmUgbXNsICAgICAgICAgICAgIG1hcDxzdHJpbmcsIGxvbmcgbG9uZz4KI2RlZmluZSBtY2wgICAgICAgICAgICAgbWFwPGNoYXIsIGxvbmcgbG9uZz4KCiNkZWZpbmUgc2wgICAgICAgICAgICAgIHNldDxsb25nIGxvbmc+CiNkZWZpbmUgc3MgICAgICAgICAgICAgIHNldDxzdHJpbmc+CgojZGVmaW5lIGNvdXQodikgICAgICAgICBmb3IobGwgaSA9IDAgOyBpIDwgdi5zaXplKCk7IGkgKyspIHtjb3V0PDx2W2ldPDwiICI7fQojZGVmaW5lIGNvdXRwKHYpICAgICAgICBmb3IobGwgaSA9IDAgOyBpIDwgdi5zaXplKCk7IGkgKyspIHtjb3V0PDx2W2ldLkY8PCIgIjw8dltpXS5TPDxlbmRsO30KCiNkZWZpbmUgdyh0KSAgICAgICAgICAgIGxvbmcgbG9uZyB0OyBjaW4+PnQ7IHdoaWxlKHQtLSkKI2RlZmluZSBmYXN0X2lvICAgICAgICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKTsgY291dC50aWUoMCkKCiNkZWZpbmUgbGxtYXggICAgICAgICAgIExMT05HX01BWAojZGVmaW5lIGxsbWluICAgICAgICAgICBMTE9OR19NSU4KCnR5cGVkZWYgbG9uZyBkb3VibGUgICAgIGxkOwp0eXBlZGVmIGRvdWJsZSAgICAgICAgICBkYjsKdHlwZWRlZiBsb25nIGxvbmcgICAgICAgbGw7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApjb25zdCBsbCBtb2QgPSAgICAgICAgICA5OTgyNDQzNTM7CmNvbnN0IGxsIE1PRCA9ICAgICAgICAgIDFlOSArIDc7CmNvbnN0IGxsIEluZiA9ICAgICAgICAgIDk5OTk5OTkzNzsKY29uc3QgZGIgcGkgPSAgICAgICAgICAgMy4xNDE1OTI2NTM1ODk3OTMyMzg0NjI2Owpjb25zdCBsbCBQID0gICAgICAgICAgICAzMTsKY29uc3QgbGwgTiA9ICAgICAgICAgICAgMWU3ICsgMTA7CgovKiAyZCBWZWN0b3IgSW5wdXQtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgp2b2lkIGlucHV0MmQodnZsbCAmdiwgbGwgbiwgbGwgbSkgewogICAgbGwgeDsKICAgIGYoaSwgMCwgbikgewogICAgICAgIHZsbCB1OwogICAgICAgIGYoaiwgMCwgbSkgewogICAgICAgICAgICAgICAgY2luID4+IHg7IHBiKHUsIHgpOwogICAgICAgIH0KICAgICAgICBwYih2LCB1KTsKICAgIH0KfQoKLyogMWQgVmVjdG9yIElucHV0LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKdm9pZCBpbnB1dCh2bGwgJnYsIGxsIG4pIHsKICAgIGxsIHg7CiAgICBmKGksIDAsIG4pIHsKICAgICAgICAgICAgY2luID4+IHg7IHBiKHYsIHgpOwogICAgfQp9CgovKiBWZWN0b3IgUGFpciBJbnB1dC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCnZvaWQgaW5wdXRwKHZwbGwgJnYsIGxsIG4pIHsKICAgIGxsIHgsIHk7CiAgICBmKGksIDAsIG4pIHsKICAgICAgICAgICAgY2luID4+IHggPj4geTsgcGIodiwgbXAoeCwgeSkpOwogICAgfQp9CgovKiBCaW5hcnkgRXhwb25lbnRpYXRpb24tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgpsbCBwdyhsbCBhLCBsbCBiLCBsbCBtb2QgPSBNT0QpIHsKICAgIGxsIHk7CiAgICBpZiAoIWEpIHJldHVybiAwOyAKICAgIGlmICghYikgcmV0dXJuICgxICsgbW9kKSAlIG1vZDsgCiAgICBpZihiICYgMSkgeSA9ICgoYSAlIG1vZCkgKiAocHcoYSwgYiAtIDEsIG1vZCkgJSBtb2QpKSAlIG1vZDsgCiAgICBlbHNlIHsgCiAgICAgICAgICAgIHkgPSBwdyhhLCBiIC8gMiwgbW9kKTsgCiAgICAgICAgICAgIHkgPSAoKHkgJSBtb2QpICogKHkgJSBtb2QpKSAlIG1vZDsKICAgIH0gCiAgICByZXR1cm4gKHkgKyBtb2QpICUgbW9kOyAKfQoKLypMQ00gb2YgQXJyYXlfX08obiAqIGxvZyhtaW4oYSwgYikpKS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKbGwgbGNtKHZsbCAmdikgewogICAgbGwgbiA9IHYuc2l6ZSgpLCBhbnMgPSB2WzBdOwogICAgZihpLCAxLCBuKWFucyA9ICh2W2ldICogYW5zKSAvIF9fZ2NkKHZbaV0sIGFucyk7CiAgICByZXR1cm4gYW5zOwp9CgovKiBTZWl2ZV9fQWxnb3JpdGhtX19PKG4gKiBsb2cobG9nIE4pKS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCnZsbCBzZWl2ZTsKCnZvaWQgY3JlYXRlKCkgewogICAgc2VpdmUucmVzaXplIChOICsgMSk7CgogICAgZiAoaSwgMCwgTiArIDEpIHNlaXZlW2ldID0gaTsKICAgIHNlaXZlWzBdID0gc2VpdmVbMV0gPSAxZTk7CgogICAgZm9yKGxsIGkgPSAyOyBpICogaSA8PSBOOyBpICsrKSB7CiAgICAgICAgaWYoc2VpdmVbaV0gPT0gaSkgewogICAgICAgICAgICBmb3IobGwgaiA9IGkgKiBpOyBqIDw9IE47IGogKz0gaSkgewogICAgICAgICAgICAgICAgaWYgKHNlaXZlW2pdID09IGopIHNlaXZlW2pdID0gaTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwp2b2lkIHNvbHZlICgpIHsKICAgIGxsIG47IGNpbiA+PiBuOwoKICAgIHNldCA8bGw+IHN0OwogICAgZiAoaSwgMSwgbiArIDEpIGlucyAoc3QsIGkpOwoKICAgIHZsbCB2IChuICsgMSwgMCk7CgogICAgbGwgY3QgPSAwLCBhbnMgPSAwOwogICAgd2hpbGUgKGN0IDwgMTApIHsKICAgICAgICBsbCBvID0gMCwgejsKICAgICAgICBtbGwgbTsKICAgICAgICBmbSAodmFsLCBzdCkgewogICAgICAgICAgICBjb3V0IDw8ICI/ICIgPDwgdmFsIDw8ICIgMSIgPDwgZW5kbDsKICAgICAgICAgICAgbGwgeDsgY2luID4+IHg7ICAKICAgICAgICAgICAgaWYgKHgpIHsKICAgICAgICAgICAgICAgIG8gKys7IG1bdmFsXSArKzsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgeiA9IHN0LnNpemUgKCkgLSBvOwogICAgICAgIGxsIHggPSAoMSA8PCBjdCk7CiAgICAgICAgbyA9IChvICsgeCAtIDEpIC8geDsgeiA9ICh6ICsgeCAtIDEpIC8geDsKICAgICAgICBpZiAobyA9PSB6KSB7CiAgICAgICAgICAgIGlmICh6ICUgeCA9PSAwKSB7CiAgICAgICAgICAgICAgICBhbnMgKz0gKDEgPDwgY3QpOwogICAgICAgICAgICAgICAgZm0gKHZhbCwgbSkgaWYgKHZhbC5TID09IDEpIHN0LmVyYXNlICh2YWwuUyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICBmbSAodmFsLCBtKSBpZiAodmFsLlMgPT0gMCkgc3QuZXJhc2UgKHZhbC5TKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgaWYgKG8gJSB4ID09IDApIHsKICAgICAgICAgICAgICAgIGZtICh2YWwsIG0pIGlmICh2YWwuUyA9PSAwKSBzdC5lcmFzZSAodmFsLlMpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgYW5zICs9ICgxIDw8IGN0KTsKICAgICAgICAgICAgICAgIGZtICh2YWwsIG0pIGlmICh2YWwuUyA9PSAxKSBzdC5lcmFzZSAodmFsLlMpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBjb3V0IDw8IHN0LnNpemUgKCkgPDwgZW5kbDsKCiAgICAgICAgY3QgKys7CiAgICB9Cn0KCmludCBtYWluKCkgewogICAgZmFzdF9pbzsKCiAgICBpbnQgdDsgY2luID4+IHQ7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSB0OyBpICsrKSB7CiAgICAgICAgc29sdmUgKCk7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0KCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8=