#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=