from collections import defaultdict N = int(input()) ans = ['z'] * N T = ['z'] * N rem = 2500 for i in range(N): cnt = defaultdict(list) for d in range(25): T[i] = chr(ord('a') + d) print(f"? {''.join(T)}", flush=True) n = int(input()) cnt[n].append(T[i]) rem -= 1 if len(cnt) == 1: continue key = max(cnt.keys()) ans[i] = cnt[key][0] assert rem >= 0 print(f"! {''.join(ans)}", flush=True)