written = set() alpha = input() assert ord('a') <= ord('alpha') <= ord('z') pre = alpha while True: S = pre + alpha print('?', S, flush=True) written.add(S) cmd, T = input().split() if cmd == '?': assert len(T) == 2 assert all(ord('a') <= ord(t) <= ord('z') for t in T) assert T not in written assert S[1] == T[0] pre = T[1] if cmd == '!': exit()