import std.algorithm, std.conv, std.range, std.stdio, std.string; const maxR = 10 ^^ 9; void main() { auto r = iota!int(1, maxR+2).assumeSorted!isLow.upperBound(0); writeln("! ", r.front); stdout.flush(); } bool isLow(int _, int x) { writeln("? ", x); stdout.flush(); auto r = readln.chomp.to!int; return r == 0; }