#include <bits/stdc++.h>
using namespace std;
string Query(string a) {
  cout << "? " << a << endl;
  cin >> a;
  return a;
}
void Answer(string a) { cout << "! " << a << endl; }
int main() {
  string s, t, a, b, c;
  cin >> s;
  int n = s.length();
  a.resize(n);
  b.resize(n);
  c.resize(n);
  for (int i = 0; i < n; ++i) {
    a[i] = 'a' + (i / 26 / 26);
    b[i] = 'a' + (i / 26 % 26);
    c[i] = 'a' + (i % 26);
  }
  a = Query(a);
  b = Query(b);
  c = Query(c);
  t.resize(n);
  for (int i = 0; i < n; ++i) {
    int x = (a[i] - 'a') * 26 * 26;
    int y = (b[i] - 'a') * 26;
    int z = (c[i] - 'a');
    t[x + y + z] = s[i];
  }
  Answer(t);
  return 0;
}
