#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using lf = long double;
using pii = pair<int, int>;
using pll = pair<ll, ll>;
string V;
ll a = (1 << 30) - 1;
int call_count = 0;
void my(ll x, ll y) {
  ++call_count;
  cerr << "#" << call_count << ": " << (x % a >= y % a ? "x" : "y") << endl;
  return;
}
void test(ll x, ll y) {
  cout << "? " << x << ' ' << y << endl;
  cin >> V;
}
void claim(ll x) {
  cout << "! " << x << endl;
  return;
}
void pro() {
  ll s = 1, e = 2;
  test(s, e);
  if (V == "x") {
    test(2, 3);
    if (V == "x") {
      claim(1);
      return;
    } else {
      claim(2);
      return;
    }
  }
  while (V == "y") {
    s <<= 1;
    e <<= 1;
    test(s, e);
  }
  for (int m = s >> 1; m; m >>= 1) {
    test(s, s + m);
    if (V == "y")
      s += m;
    else
      e = s + m;
  }
  if (e - s == 1) {
    test(s, e);
    if (V == "y")
      claim(s);
    else
      claim(e);
    return;
  }
  claim(s);
}
int main() {
  while (1) {
    cin >> V;
    if (V == "mistake" || V == "end") {
      return 0;
    }
    if (V == "start") {
      pro();
    }
  }
}
