#include <bits/stdc++.h>
using namespace std;
int ask(int l,int r){
cout << "AK " << l << " " << r << "\n" << flush;
string s;
if(!(cin >> s)) exit(0);
if(s=="O") return 1;
return 0;
}
vector<int> solve_interval(int l,int r,int k){
if(k==0) return {};
if(l==r){
int res = ask(l,l);
if(res==1) return {l};
else return {};
}
int mid = (l+r)/2;
int res = ask(l,mid);
if(k==1){
if(res==1){
vector<int> a = solve_interval(l,mid,1);
vector<int> b = solve_interval(mid+1,r,0);
a.insert(a.end(), b.begin(), b.end());
return a;
} else {
vector<int> a = solve_interval(l,mid,0);
vector<int> b = solve_interval(mid+1,r,1);
a.insert(a.end(), b.begin(), b.end());
return a;
}
} else { // k == 2
if(res==1){
vector<int> left = solve_interval(l,mid,1);
vector<int> right = solve_interval(mid+1,r,1);
left.insert(left.end(), right.begin(), right.end());
return left;
} else {
vector<int> left = solve_interval(l,mid,2);
if((int)left.size()==2) return left;
if((int)left.size()==1){
// 이 경우 이론상 발생하지 않음. 안전하게 처리: 나머지를 오른쪽에서 찾기
vector<int> right = solve_interval(mid+1,r,1);
left.insert(left.end(), right.begin(), right.end());
return left;
}
// left.size() == 0 이면 둘 다 오른쪽에 있음
vector<int> right = solve_interval(mid+1,r,2);
return right;
}
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
if(!(cin >> T)) return 0;
while(T--){
int N;
if(!(cin >> N)) return 0;
vector<int> ans = solve_interval(1,N,2);
if((int)ans.size()!=2){
// 예외 처리: 만약 하나만 찾혔거나 못 찾혔으면, 남은 위치를 브루트로 확인
set<int> found(ans.begin(), ans.end());
for(int i=1;i<=N && (int)found.size()<2;i++){
if(found.count(i)) continue;
int r = ask(i,i);
if(r==1) found.insert(i);
}
ans.assign(found.begin(), found.end());
}
cout << "! " << ans[0] << " " << ans[1] << "\n" << flush;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgYXNrKGludCBsLGludCByKXsKICAgIGNvdXQgPDwgIkFLICIgPDwgbCA8PCAiICIgPDwgciA8PCAiXG4iIDw8IGZsdXNoOwogICAgc3RyaW5nIHM7CiAgICBpZighKGNpbiA+PiBzKSkgZXhpdCgwKTsKICAgIGlmKHM9PSJPIikgcmV0dXJuIDE7CiAgICByZXR1cm4gMDsKfQoKdmVjdG9yPGludD4gc29sdmVfaW50ZXJ2YWwoaW50IGwsaW50IHIsaW50IGspewogICAgaWYoaz09MCkgcmV0dXJuIHt9OwogICAgaWYobD09cil7CiAgICAgICAgaW50IHJlcyA9IGFzayhsLGwpOwogICAgICAgIGlmKHJlcz09MSkgcmV0dXJuIHtsfTsKICAgICAgICBlbHNlIHJldHVybiB7fTsKICAgIH0KICAgIGludCBtaWQgPSAobCtyKS8yOwogICAgaW50IHJlcyA9IGFzayhsLG1pZCk7CiAgICBpZihrPT0xKXsKICAgICAgICBpZihyZXM9PTEpewogICAgICAgICAgICB2ZWN0b3I8aW50PiBhID0gc29sdmVfaW50ZXJ2YWwobCxtaWQsMSk7CiAgICAgICAgICAgIHZlY3RvcjxpbnQ+IGIgPSBzb2x2ZV9pbnRlcnZhbChtaWQrMSxyLDApOwogICAgICAgICAgICBhLmluc2VydChhLmVuZCgpLCBiLmJlZ2luKCksIGIuZW5kKCkpOwogICAgICAgICAgICByZXR1cm4gYTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB2ZWN0b3I8aW50PiBhID0gc29sdmVfaW50ZXJ2YWwobCxtaWQsMCk7CiAgICAgICAgICAgIHZlY3RvcjxpbnQ+IGIgPSBzb2x2ZV9pbnRlcnZhbChtaWQrMSxyLDEpOwogICAgICAgICAgICBhLmluc2VydChhLmVuZCgpLCBiLmJlZ2luKCksIGIuZW5kKCkpOwogICAgICAgICAgICByZXR1cm4gYTsKICAgICAgICB9CiAgICB9IGVsc2UgeyAvLyBrID09IDIKICAgICAgICBpZihyZXM9PTEpewogICAgICAgICAgICB2ZWN0b3I8aW50PiBsZWZ0ID0gc29sdmVfaW50ZXJ2YWwobCxtaWQsMSk7CiAgICAgICAgICAgIHZlY3RvcjxpbnQ+IHJpZ2h0ID0gc29sdmVfaW50ZXJ2YWwobWlkKzEsciwxKTsKICAgICAgICAgICAgbGVmdC5pbnNlcnQobGVmdC5lbmQoKSwgcmlnaHQuYmVnaW4oKSwgcmlnaHQuZW5kKCkpOwogICAgICAgICAgICByZXR1cm4gbGVmdDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB2ZWN0b3I8aW50PiBsZWZ0ID0gc29sdmVfaW50ZXJ2YWwobCxtaWQsMik7CiAgICAgICAgICAgIGlmKChpbnQpbGVmdC5zaXplKCk9PTIpIHJldHVybiBsZWZ0OwogICAgICAgICAgICBpZigoaW50KWxlZnQuc2l6ZSgpPT0xKXsKICAgICAgICAgICAgICAgIC8vIOydtCDqsr3smrAg7J2066Gg7IOBIOuwnOyDne2VmOyngCDslYrsnYwuIOyViOyghO2VmOqyjCDsspjrpqw6IOuCmOuouOyngOulvCDsmKTrpbjsqr3sl5DshJwg7LC+6riwCiAgICAgICAgICAgICAgICB2ZWN0b3I8aW50PiByaWdodCA9IHNvbHZlX2ludGVydmFsKG1pZCsxLHIsMSk7CiAgICAgICAgICAgICAgICBsZWZ0Lmluc2VydChsZWZ0LmVuZCgpLCByaWdodC5iZWdpbigpLCByaWdodC5lbmQoKSk7CiAgICAgICAgICAgICAgICByZXR1cm4gbGVmdDsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBsZWZ0LnNpemUoKSA9PSAwIOydtOuptCDrkZgg64ukIOyYpOuluOyqveyXkCDsnojsnYwKICAgICAgICAgICAgdmVjdG9yPGludD4gcmlnaHQgPSBzb2x2ZV9pbnRlcnZhbChtaWQrMSxyLDIpOwogICAgICAgICAgICByZXR1cm4gcmlnaHQ7CiAgICAgICAgfQogICAgfQp9CgppbnQgbWFpbigpewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShudWxscHRyKTsKICAgIGludCBUOwogICAgaWYoIShjaW4gPj4gVCkpIHJldHVybiAwOwogICAgd2hpbGUoVC0tKXsKICAgICAgICBpbnQgTjsKICAgICAgICBpZighKGNpbiA+PiBOKSkgcmV0dXJuIDA7CiAgICAgICAgdmVjdG9yPGludD4gYW5zID0gc29sdmVfaW50ZXJ2YWwoMSxOLDIpOwogICAgICAgIGlmKChpbnQpYW5zLnNpemUoKSE9Mil7CiAgICAgICAgICAgIC8vIOyYiOyZuCDsspjrpqw6IOunjOyVvSDtlZjrgpjrp4wg7LC+7ZiU6rGw64KYIOuquyDssL7tmJTsnLzrqbQsIOuCqOydgCDsnITsuZjrpbwg67iM66Oo7Yq466GcIO2ZleyduAogICAgICAgICAgICBzZXQ8aW50PiBmb3VuZChhbnMuYmVnaW4oKSwgYW5zLmVuZCgpKTsKICAgICAgICAgICAgZm9yKGludCBpPTE7aTw9TiAmJiAoaW50KWZvdW5kLnNpemUoKTwyO2krKyl7CiAgICAgICAgICAgICAgICBpZihmb3VuZC5jb3VudChpKSkgY29udGludWU7CiAgICAgICAgICAgICAgICBpbnQgciA9IGFzayhpLGkpOwogICAgICAgICAgICAgICAgaWYocj09MSkgZm91bmQuaW5zZXJ0KGkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGFucy5hc3NpZ24oZm91bmQuYmVnaW4oKSwgZm91bmQuZW5kKCkpOwogICAgICAgIH0KICAgICAgICBjb3V0IDw8ICIhICIgPDwgYW5zWzBdIDw8ICIgIiA8PCBhbnNbMV0gPDwgIlxuIiA8PCBmbHVzaDsKICAgIH0KICAgIHJldHVybiAwOwp9