import sys, time, random
from collections import deque, Counter, defaultdict
input = lambda: sys.stdin.readline().rstrip()
ii = lambda: int(input())
mi = lambda: map(int, input().split())
li = lambda: list(mi())
inf = 2 ** 63 - 1
mod = 998244353

print('?', 100, flush=True)
x = ii()
if 100 - x - 1 == 0:
    b = 100
    a = 99
    print('!', a, b, flush=True)
    exit()
else:
    print('?', 100 - x - 1, flush=True)
    y = ii()
    b = y + 1

    for a in range(0, b):
        if (100 + a) % b == x and (100 - x - 1 + a) % b == y:
            print('!', a, b, flush=True)
            exit()