DEBUG = False def solve(a=-1, b=-1): def ask(x): if DEBUG: return (a + x) % b else: print(f"? {x}", flush=True) return int(input()) r = ask(100) for x in range(1, 100): se = set() ok = True for bb in range(1, 101): if r >= bb: continue aa = (r - 100) % bb yy = (aa + x) % bb if yy not in se: se.add(yy) else: ok = False break if ok: r2 = ask(x) for aa in range(100): for bb in range(aa + 1, 101): if (aa + 100) % bb == r and (aa + x) % bb == r2: if DEBUG: assert (aa, bb) == (a, b) else: print(f"! {aa} {bb}") return assert False assert False if DEBUG: for a in range(100): for b in range(a + 1, 101): solve(a, b) else: solve()