#include using namespace std; #include using namespace atcoder; int main(void){ int t; cin>>t; while(t--){ long long a,b; cout<<"? 1000000 1000000"<>a; if(a==-1)return 1; cout<<"? 1000000 0"<>b; if(b==-1)return 1; long long val=a-b; if(val==1){ cout<<"! 1"<ans; for(long long i=2*b/(val+1)+1;i<=2*b/(val-1)+1;i++){ if(i>1e6)break; long long tmp=(1000000*i)/val; if(tmp==0||tmp>1e6)continue; if(i*1000000/tmp!=val)continue; if(floor_sum(i,tmp,1000000,0)!=b)continue; ans.push_back(i); } if(ans.size()==1){ cout<<"! "<