#include<bits/stdc++.h>
using namespace std;
int T;
signed main(){
cin>>T;
while(T--){
cout.flush();
int n,m,l,r,x,y;
cin>>n>>m;
int ans1=0,ans2=0,ans3=0,ans4=0;
cout<<"? "<<1<<" "<<1<<"\n";
cin>>ans1;
if(n>ans1){
if(m>ans1){
l=1,r=ans1+1,x=ans1+1,y=1;
} else {
l=1,r=ans1+1,x=m,y=ans1+2-m;
}
} else {
if(m>ans1){
l=ans1-n+2,r=n,x=ans1+1,y=1;
} else {
l=ans1-n+2,r=n,x=m,y=ans1-m+2;
}
}
cout<<"? "<<l<<" "<<r<<"\n";
cin>>ans2;
l+=ans2/2,r-=ans2/2;
cout<<"? "<<x<<" "<<y<<"\n";
cin>>ans3;
x-=ans3/2,y+=ans3/3;
cout<<"? "<<l<<" "<<r<<"\n";
cin>>ans4;
if(ans4==0){
cout<<"! "<<l<<" "<<r<<"\n";
} else {
cout<<"! "<<x<<" "<<y<<"\n";
}
cout.flush();
}
return 0;
}