import sys input = lambda :sys.stdin.readline()[:-1] ni = lambda :int(input()) na = lambda :list(map(int,input().split())) yes = lambda :print("yes");Yes = lambda :print("Yes");YES = lambda : print("YES") no = lambda :print("no");No = lambda :print("No");NO = lambda : print("NO") ####################################################################### def divisors(n): lower_divisors , upper_divisors = [], [] i = 1 while i*i <= n: if n % i == 0: lower_divisors.append(i) if i != n // i: upper_divisors.append(n//i) i += 1 return lower_divisors + upper_divisors[::-1] def is_prime(n): if n==1: return False if len(divisors(n))==1: return True else: return False p = [] pmax = 10**4 a = [-1]*(pmax+1) for i in range(2,pmax+1): if a[i]==-1: p.append(i) for j in range(i,pmax+1,i): a[j] = i plen = len(p) def f(x): for i in p: if x==i: return 1 if x%i==0: return 0 return 1 def fastfact(x): r = [] while x > 1: p = a[x] c = 0 while a[x]==p: x//=p c += 1 r.append((p, c)) return r n = ni() ans = 1 m = 600 for i in range(m): print("?",p[i],flush=True) s = ni() ans *= s print("!", ans)