#include <bits/stdc++.h>
using namespace std;
int main() {
  string t;
  cin >> t;
  int n = t.size();
  string ans(n, '#');
  string sa, sb, sc;
  int cur = 0;
  for (int i = 0; i < n; i++) {
    int temp = cur;
    sc += char(temp % 26 + 'a');
    temp /= 26;
    sb += char(temp % 26 + 'a');
    temp /= 26;
    sa += char(temp % 26 + 'a');
    cur++;
  }
  string ta, tb, tc;
  cout << "? " << sa << endl;
  cin >> ta;
  cout << "? " << sb << endl;
  cin >> tb;
  cout << "? " << sc << endl;
  cin >> tc;
  map<vector<char>, int> mp;
  for (int i = 0; i < n; i++) {
    mp[{sa[i], sb[i], sc[i]}] = i;
  }
  for (int i = 0; i < n; i++) {
    int ind = mp[{ta[i], tb[i], tc[i]}];
    ans[ind] = t[i];
  }
  cout << "! " << ans << endl;
  return 0;
}
