#include <bits/stdc++.h>
char s[10010];
char s1[10010], s2[10010], s3[10010];
char ans[10010];
int main() {
  scanf("%s", s + 1);
  int n = strlen(s + 1);
  for (int i = 1; i <= n; i++) {
    int b1 = i / 26 / 26;
    int b2 = (i / 26) % 26;
    int b3 = i % 26;
    s1[i] = b1 + 'a';
    s2[i] = b2 + 'a';
    s3[i] = b3 + 'a';
  }
  printf("? %s\n", s1 + 1);
  std::fflush(stdout);
  scanf("%s", s1 + 1);
  printf("? %s\n", s2 + 1);
  std::fflush(stdout);
  scanf("%s", s2 + 1);
  printf("? %s\n", s3 + 1);
  std::fflush(stdout);
  scanf("%s", s3 + 1);
  for (int i = 1; i <= n; i++) {
    int b1 = s1[i] - 'a';
    int b2 = s2[i] - 'a';
    int b3 = s3[i] - 'a';
    ans[b1 * 26 * 26 + b2 * 26 + b3] = s[i];
  }
  printf("! %s", ans + 1);
  std::fflush(stdout);
}
