import math;import random;G=math.gcd;a=g=2;n=int(input()) while g<3:print("?",a);t=pow(a,int(input())//2,n);a=random.randrange(3,n);g=max(G(n,t-1),G(n,t+1)%n,G(n,a)) print("!",g,n//g)