#include <bits/stdc++.h>
using namespace std;
const long long MOD = 998244353;
const long long dx[4] = {-1, 1, 0, 0};
const long long dy[4] = {0, 0, -1, 1};
const long long MAX = 3e5 + 10;
long long gcd(long long a, long long b) { return (b == 0 ? a : gcd(b, a % b)); }
long long n, m, x, k, Q, ans, h, v;
string second;
long long ask(long long x, long long y) {
  cout << "? " << x << " " << y << endl;
  cout << flush;
  string ans;
  cin >> ans;
  if (ans[0] == 'x') return 1;
  return 2;
}
void print(long long x) {
  cout << "! " << x << '\n';
  cout << flush;
}
void go(long long l, long long r) {
  if (r - l == 1) {
    int get = ask(l, r);
    if (get == 1)
      print(r);
    else
      print(l);
    return;
  }
  if (l == r) {
    print(l);
    return;
  }
  long long mid = (l + r + 1) / 2;
  if (mid == r) mid--;
  int get = ask(mid, r);
  if (get == 2)
    go(l, mid);
  else
    go(mid, r);
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> second;
  while (second == "start") {
    long long lo = 1, hi = 2;
    while (1) {
      int get = ask(hi, lo);
      if (get == 2) {
        go(lo + 1, hi);
        break;
      }
      lo *= 2;
      hi *= 2;
      if (lo > MOD) {
        print(1);
        break;
      }
    }
    cin >> second;
  }
  return 0;
}
