import math;G=math.gcd;n=int(input());a=2;g=G(n,3) while g<3:print("?",a);r=int(input());g=max([G(n,pow(a+b,r//(2-(r&1)),n)-1)%n for b in range(10)]+[G(n,a+1)]);a+=1 print("!",g,n//g)