#include <bits/stdc++.h>
using namespace std;
const int Z = (int)1e3 + 228;
const int N = (int)2e5 + 228;
const int INF = (int)1e9 + 228;
const int MOD = (int)998244353;
const long long LLINF = (long long)1e18 + 228;
const long double eps = (long double)1e-6;
signed main() {
  while (true) {
    string s;
    cin >> s;
    if (s == "end" || s == "mistake") return 0;
    int l = 0, r;
    cout << "? " << l << ' ' << l + 1 << "\n";
    fflush(stdout);
    char c;
    cin >> c;
    if (c == 'e') return 0;
    if (c != 'x') {
      l = 1;
      for (int i = 0; i < 30; i++) {
        cout << "? " << l << ' ' << l * 2 << "\n";
        fflush(stdout);
        cin >> c;
        if (c == 'e') return 0;
        if (c == 'x') break;
        l *= 2;
      }
      r = l * 2;
    } else {
      r = 1;
    }
    int low = l++;
    while (r - l > 0) {
      int mid = (l + r) / 2;
      cout << "? " << low << ' ' << mid << "\n";
      fflush(stdout);
      cin >> c;
      if (c == 'e') return 0;
      if (c == 'x')
        r = mid;
      else
        l = mid + 1;
    }
    cout << "! " << l << "\n";
    fflush(stdout);
  }
  return 0;
}
