from collections import defaultdict N=int(input()) ans=["a"]*N d=defaultdict(int) for i in range(26): t=chr(97+i)*N print("?",t,flush=1) n=int(input()) d[chr(97+i)]=n for i in range(N): t="".join(ans) print("?",t,flush=1) x=int(input()) flag=1 for j in range(1,26): if d[chr(97+j)]==0: continue ans[i]=chr(97+j) t="".join(ans) print("?",t,flush=1) n=int(input()) if n>x: d[chr(97+j)]-=1 flag=0 break if flag: d["a"]-=1 print("!","".join(ans))