#include <bits/stdc++.h>
using namespace std;
string ask(string s) {
  cout << "? " << s << endl;
  cin >> s;
  return s;
}
int main() {
  string t;
  cin >> t;
  int n = (int)t.size();
  string s1, s2, s3;
  for (int i = 0; i < n; ++i) {
    s1.push_back('a' + (i / (26 * 26) % 26));
    s2.push_back('a' + (i / (26) % 26));
    s3.push_back('a' + (i / (1) % 26));
  }
  s1 = ask(s1);
  s2 = ask(s2);
  s3 = ask(s3);
  vector<int> p(n);
  for (int i = 0; i < n; ++i) {
    p[i] += (s1[i] - 'a') * 26 * 26;
    p[i] += (s2[i] - 'a') * 26;
    p[i] += (s3[i] - 'a') * 1;
  }
  string ans = t;
  for (int i = 0; i < n; ++i) ans[p[i]] = t[i];
  cout << "! " << ans << endl;
  return 0;
}
