#include <bits/stdc++.h>
using namespace std;
void Query(string &s) {
  cout << '?' << ' ' << s << '\n';
  fflush(stdout);
  cin >> s;
}
int main() {
  string t;
  cin >> t;
  int n = t.size();
  vector<int> v(n);
  for (int k = 2; k > -1; --k) {
    string s;
    for (int i = 0; i < n; ++i) {
      int x = i;
      for (int y = k; y > 0; --y) {
        x /= 26;
      }
      s.push_back('a' + (x % 26));
    }
    Query(s);
    for (int i = 0; i < n; ++i) {
      v[i] = 26 * v[i] + (s[i] - 'a');
    }
  }
  string s = t;
  for (int i = 0; i < n; ++i) {
    s[v[i]] = t[i];
  }
  cout << '!' << ' ' << s << '\n';
  fflush(stdout);
  return 0;
}
