import std.algorithm;
import std.conv;
import std.range;
import std.stdio;
import std.string;

bool ask (int x, int y)
{
	writeln ("?", " ", x, " ", y);
	stdout.flush ();
	auto s = readln.strip;
	if (s == "e")
	{
		assert (false);
	}
	return (s == "x");
}

void main ()
{
	string s;
	while ((s = readln.strip) != "")
	{
		if (s == "end")
		{
			break;
		}
		if (s != "start")
		{
			assert (false);
		}

		immutable int start = 0;
		int x = start;
		int y = x;
		int d = 1;
		do
		{
			x = y;
			y += d;
			d *= 2;
		}
		while (!ask (x, y));

		int lo = x + 1;
		int hi = y;
		while (lo != hi)
		{
			auto me = (lo + hi) / 2;
			if (ask (x, me))
			{
				hi = me;
			}
			else
			{
				lo = me + 1;
			}
		}

		writeln ("!", " ", lo);
		stdout.flush ();
	}
}
