import math # 数学ライブラリ(最大公約数(greatest common divisor, gcd))のため
n = int(input()) # 合成数 n を取得
def check(v): # 出力チェック関数
    g = math.gcd(v, n)
    if g > 2 and g < n:
        print("!", g, n//g)
        exit()
check(3) # 3の素因数をチェック
for a in range(2, n-1): # a = {2,3,4,...,n-2}
    check(a) # 質問前にaをチェック
    print("?", a) # 位数を質問
    r = int(input()) # 位数の回答
    if r&1 == 0: # if r is even:
        r >>= 1
    for b in range(99): # b = {0,1,2,...,98}
        check(pow(a+b, r, n)-1) # pow(a + b, r) % n - 1