N = int(input()) flag = True A = [0]*N for i in range(N-2,-1,-1): print(f"? {i} {N-1}") p = int(input()) if p<=0: flag = False break A[i] = p if not flag or N==2: print("! -1") else: print(f"? {N-3} {N-2}") A[N-1] = int(input()) ans = [0]*N x = A[N-2]*A[N-3]//A[N-1] for i in range(1,10): if i*i==x: ans[N-1] = i break for i in range(N-2,-1,-1): ans[i] = A[i]//ans[N-1] ans = ans[::-1] print(f"! {''.join(str(x) for x in ans)}")