module main; // https://sugarknri.hatenablog.com/entry/2016/05/20/205444 より // インタラクティブ問題、二分探索 import std; int ask(int m) { writefln("? %d", m); stdout.flush; return readln.chomp.to!int; } void main() { int ret, t = 0, l = 10, u = 10 ^^ 9 + 1, m = 32; ret = ask(32); while (ret) { if (ret == 1) l = m; else u = m; t++; m = (u + l) / 2; ret = ask(m - t); } writefln("! %d", m); stdout.flush; }