MAX = 100 s1=50 print('?',s1,flush=True) t1=int(input()) ab=[] for a in range(MAX): for b in range(max(t1,a)+1,MAX+1): if (s1+a)%b==t1: ab.append((a,b)) for s2 in range(1,MAX+1): for t2 in range(MAX): cnt=0 for a,b in ab: if (s2+a)%b==t2: cnt+=1 if cnt>=2: break else: break print('?',s2,flush=True) t2=int(input()) for a,b in ab: if (s2+a)%b==t2: print('!',a,b)