#include <bits/stdc++.h>
using namespace std;
const int a = 26;
char c[10000], ans[10000];
int p[10000], ap[10000], perm[10000];
map<int, int> m;
int main() {
  string s, st;
  cin >> s;
  int n = s.size(), x, t, last, y;
  x = 17576;
  for (int i = 0; i < 3; i++) {
    x /= a;
    t = 0;
    last = -1;
    cout << "? ";
    for (int j = 0; j < n; j++) {
      if (j % x == 0 || last != c[j]) {
        t = (t + 1) % a;
      }
      last = c[j];
      c[j] = char(t + 'a');
      cout << c[j];
    }
    cout << endl;
    cin >> st;
    for (int j = 0; j < n; j++) {
      y = st[j] - 'a';
      p[j] = p[j] * a + y;
      ap[j] = ap[j] * a + (c[j] - 'a');
    }
  }
  cout << "! ";
  for (int i = 0; i < n; i++) m[ap[i]] = i;
  for (int i = 0; i < n; i++) perm[i] = m[p[i]];
  for (int i = 0; i < n; i++) ans[perm[i]] = s[i];
  for (int i = 0; i < n; i++) cout << ans[i];
  cout << endl;
}
