print('? '+str(50)); N=int(input()) #A+50が余りNとなる組を抽出 X=set() for A in range(0,101): for B in range(A+1,101): if (A+50)%B==N: X.add((A,B)) #次の質問を決める for y in range(1,101): Y=set() for A,B in X: Y.add((A+y)%B) if len(Y)!=len(X): continue else: break print('? '+str(y)); M=int(input()) for A,B in X: if (A+y)%B==M: print('! '+str(A)+' '+str(B)); break exit()