#include <bits/stdc++.h>
using namespace std;
const int fx[4][2] = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}};
const int fxx[8][2] = {{0, 1}, {0, -1}, {1, 0},  {-1, 0},
                       {1, 1}, {1, -1}, {-1, 1}, {-1, -1}};
void dane() {
  string s;
  while (cin >> s) {
    if (s == "mistake" || s == "end") {
      return;
    }
    cout << "? 0 1\n";
    fflush(stdout);
    char aaa;
    cin >> aaa;
    if (aaa == 'x') {
      cout << "! 1\n";
      fflush(stdout);
      continue;
    }
    int pocz = 1;
    int kon = 2;
    int plus = 0;
    while (pocz != kon) {
      cout << "? " << pocz + plus << " " << kon + plus << "\n";
      fflush(stdout);
      char ans;
      cin >> ans;
      if (ans == 'e') {
        return;
      }
      if (ans == 'y') {
        pocz = kon;
        kon = pocz * 2;
        if (pocz >= 536870912) {
          break;
        }
      } else {
        break;
      }
    }
    while (pocz != kon) {
      int half = pocz + (kon - pocz) / 2;
      cout << "? " << half << " " << kon << "\n";
      fflush(stdout);
      char ans;
      cin >> ans;
      if (ans == 'y') {
        kon = half;
      } else {
        pocz = half + 1;
      }
    }
    cout << "! " << kon << "\n";
    fflush(stdout);
  }
}
int main() {
  dane();
  return 0;
}
