a = input() s = set() C = [0] * 26 t = a * 2 s.add(t) i = ord(a) - ord('a') C[i] += 1 print('?', t, flush = True) while True: b = input() if b[0] == '?': _, t = b.split() s.add(t) i = ord(t[0]) - ord('a') C[i] += 1 else: break if C[i] == 26: for j in range(26): t = chr(j + ord('a')) + chr(i + ord('a')) if t not in s: print('?', t, flush = True) else: i = ord(t[1]) - ord('a') if C[i] == 0: t = chr(i + ord('a')) + chr(i + ord('a')) s.add(t) C[i] += 1 else: c = 0 for i in range(26): for j in range(26): if C[j] == 25: continue t = chr(i + ord('a')) + chr(i + ord('a')) if t in s: continue s.add(t) print('?', t, flush = True) c = 1 break if c: break