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)