#include <bits/stdc++.h>
#pragma GCC optimize("O3")
using namespace std;
const double EPS = 1e-8;
const int mod = 1e9 + 7;
const int N = 1e6 + 10;
const long long INF = 1e18;
long long power(long long x, long long y) {
  long long t = 1;
  while (y > 0) {
    if (y % 2)
      y -= 1, t = t * x % mod;
    else
      y /= 2, x = x * x % mod;
  }
  return t;
}
char s[N], ans[N];
int main() {
  while (1) {
    scanf("%s", s);
    if (s[0] != 's') break;
    printf("? 0 1\n");
    fflush(stdout);
    scanf("%s", ans);
    if (ans[0] == 'x') {
      printf("! 1\n");
      fflush(stdout);
      continue;
    }
    int x = 1;
    while (x < mod) {
      printf("? %d %d\n", x, 2 * x);
      fflush(stdout);
      scanf("%s", ans);
      if (ans[0] == 'x') break;
      x *= 2;
    }
    int l = x + 1, r = 2 * x, mid;
    while (l < r) {
      int mid = (l + r) / 2;
      printf("? %d %d\n", x, mid);
      fflush(stdout);
      scanf("%s", ans);
      if (ans[0] == 'x') {
        r = mid;
      } else {
        l = mid + 1;
      }
    }
    printf("! %d\n", (l + r) / 2);
    fflush(stdout);
  }
  return 0;
}
