#include <bits/stdc++.h>
using namespace std;
const long double PI = 3.14159265359;
const long long MOD = (long long)998244353ll;
const long long MAXN = (long long)3e5 + 10;
const long long INF = (long long)2242545357980376863;
const long double EPS = (long double)1e-8;
char ans[MAXN];
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  string s1, s2, s3, t1, t2, t3, t;
  for (int i = 0; i < 26; i++)
    for (int j = 0; j < 26; j++)
      for (int k = 0; k < 26; k++) s1 += ((char)('a' + i));
  for (int i = 0; i < 26; i++)
    for (int j = 0; j < 26; j++)
      for (int k = 0; k < 26; k++) s2 += ((char)('a' + j));
  for (int i = 0; i < 26; i++)
    for (int j = 0; j < 26; j++)
      for (int k = 0; k < 26; k++) s3 += ((char)('a' + k));
  long long n;
  cin >> t;
  n = t.size();
  cout << "? ";
  for (int i = 0; i < n; i++) cout << s1[i];
  cout << endl;
  cin >> t1;
  cout << "? ";
  for (int i = 0; i < n; i++) cout << s2[i];
  cout << endl;
  cin >> t2;
  cout << "? ";
  for (int i = 0; i < n; i++) cout << s3[i];
  cout << endl;
  cin >> t3;
  cout << "! ";
  for (int i = 0; i < n; i++) {
    ans[26 * 26 * (t1[i] - 'a') + 26 * (t2[i] - 'a') + (t3[i] - 'a')] = t[i];
  }
  for (int i = 0; i < n; i++) cout << ans[i];
  cout << endl;
  return 0;
}
