def Query(s, idx):
"""
질문 "? s idx"을 하고 입력받는 함수
"""
print("?", s, idx)
return int(input())
N = int(input())
A_Lidx = 1
A_Ridx = N # [A_Lidx ~ A_Ridx] 에 정답 후보가 있음
B_Lidx = 1
B_Ridx = N # [B_Lidx ~ B_Ridx] 에 정답 후보가 있음
while A_Ridx > A_Lidx:
A_mid = (A_Lidx + A_Ridx) // 2
B_mid = (B_Lidx + B_Ridx) // 2
A_ret = Query("A", A_mid)
B_ret = Query("B", B_mid)
if A_ret <= B_ret:
A_Lidx = A_mid + 1
B_Ridx = B_mid
else:
A_Ridx = A_mid
B_Lidx = B_mid + 1
A_ret = Query("A", A_Lidx)
B_ret = Query("B", B_Lidx)
print("!", min(A_ret, B_ret))