#include <bits/stdc++.h>
using namespace std;
string t;
vector<string> query(3);
void ask(string &q) {
  cout << "? " << q << "\n";
  fflush(stdout);
  cin >> q;
}
int main() {
  ios_base::sync_with_stdio(false);
  ;
  cin >> t;
  for (int i = 0; i < t.length(); i++) {
    query[0] += (char)('a' + (i % 26));
    query[1] += (char)('a' + ((i % (26 * 26)) / (26)));
    query[2] += (char)('a' + (i % (26 * 26 * 26)) / (26 * 26));
  }
  ask(query[0]);
  ask(query[1]);
  ask(query[2]);
  string ans(t.length(), ' ');
  for (int i = 0; i < t.length(); i++) {
    int pos = (query[0][i] - 'a') + (query[1][i] - 'a') * 26 +
              (query[2][i] - 'a') * 26 * 26;
    ans[pos] = t[i];
  }
  cout << "! " << ans << endl;
  return 0;
}
