#include <bits/stdc++.h>
using namespace std;
template <class T>
struct rge {
  T b, e;
};
template <class T>
rge<T> range(T i, T j) {
  return rge<T>{i, j};
}
struct debug {
  template <class T>
  debug& operator<<(const T&) {
    return *this;
  }
};
using ll = long long;
template <typename T>
void min_self(T& a, T b) {
  a = min(a, b);
}
template <typename T>
void max_self(T& a, T b) {
  a = max(a, b);
}
bool ask(int x, int y) {
  cout << "? " << x << ' ' << y << endl;
  string ans;
  cin >> ans;
  if (ans == "e") {
    exit(0);
  }
  return ans == "x";
}
void play_game() {
  int i = 0, prev = 0;
  while (!ask(prev, 1 << i)) {
    prev = 1 << i;
    i++;
  }
  int lo = prev + 1, hi = 1 << i;
  int ans = prev;
  while (lo <= hi) {
    int mid = (lo + hi) / 2;
    if (!ask(prev, mid)) {
      ans = mid;
      lo = mid + 1;
    } else {
      hi = mid - 1;
    }
  }
  cout << "! " << ans + 1 << endl;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  while (1) {
    string s;
    cin >> s;
    if (s == "start") {
      play_game();
    } else {
      exit(0);
    }
  }
}
