n=int(input()) res=[0 for _ in range(n)] nonzero=[] for i in range(0,n-1): print("? "+str(i)+" "+str(n-1)) p=int(input()) res[i]=p if p!=0: nonzero.append(i) if len(nonzero)>=2: print("? "+str(nonzero[0])+" "+str(nonzero[1])) p=int(input()) a=int((res[nonzero[0]]*res[nonzero[1]]//p)**0.5) ans=[str(a)] for i in range(n-2,-1,-1): ai=res[i]//a ans.append(str(ai)) print("! "+"".join(ans)) elif len(nonzero)==1: if res[nonzero[0]]==25: a=5 ans=[str(a)] for i in range(n-2,-1,-1): if i!=nonzero[0]: ans.append(str(0)) else: ans.append(str(5)) print("! "+"".join(ans)) elif res[nonzero[0]]==49: a=7 ans=[str(a)] for i in range(n-2,-1,-1): if i!=nonzero[0]: ans.append(str(0)) else: ans.append(str(7)) print("! "+"".join(ans)) elif res[nonzero[0]]==64: a=8 ans=[str(a)] for i in range(n-2,-1,-1): if i!=nonzero[0]: ans.append(str(0)) else: ans.append(str(8)) print("! "+"".join(ans)) elif res[nonzero[0]]==81: a=9 ans=[str(a)] for i in range(n-2,-1,-1): if i!=nonzero[0]: ans.append(str(0)) else: ans.append(str(9)) print("! "+"".join(ans)) elif res[nonzero[0]]==1: a=1 ans=[str(a)] for i in range(n-2,-1,-1): if i!=nonzero[0]: ans.append(str(0)) else: ans.append(str(1)) print("! "+"".join(ans)) else: print("! -1") else: print("! -1")