#include <bits/stdc++.h>
using namespace std;
string original;
char pos[10000][4];
char ans[10000];
const int pow26[3] = {1, 26, 676};
int main() {
  ios_base::sync_with_stdio(0);
  cin >> original;
  int len = original.length();
  for (int ii = 0; ii <= 2; ii++) {
    string tmp;
    int mod = pow26[2 - ii];
    char c = 'a' - 1;
    for (int i = 0; i <= len - 1; i++) {
      if (i % mod == 0) c++;
      if (c > 'z') c = 'a';
      tmp += c;
    }
    cout << "? " << tmp << endl;
    string ex;
    cin >> ex;
    for (int i = 0; i <= len - 1; i++) pos[i][ii] = ex[i];
  }
  for (int i = 0; i <= len - 1; i++) {
    int num = 0;
    for (int j = 0; j <= 2; j++) num += (pos[i][j] - 'a') * pow26[2 - j];
    ans[num] = original[i];
  }
  cout << "! " << ans;
}
