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))