import math n = int(input()) # 合成数を入力 def check(v): # 出力チェック関数 g = math.gcd(v, n) if g > 2 and g < n: print("!", g, n//g) exit() 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: check(pow(a, r>>1, n)-1) # pow(a, r//2) % n - 1