n = int(input()) ans = ['a' for i in range(n)] for i in range(n): t = [0] * 25 for j in range(25): print(f"? {'a'*i}{chr(ord('a')+j)}{'a'*(n-i-1)}") t[j] = int(input()) if min(t) == max(t): ans[i] = 'z' else: mincnt = 0 for j in range(25): if t[j] == min(t): mincnt += 1 if mincnt == 24: for j in range(25): if t[j] == max(t): ans[i] = chr(ord('a') + j) break else: for j in range(25): if t[j] == min(t): ans[i] = chr(ord('a') + j) break print('!',''.join(ans))