local min, max = 1, 100--1000000000 local ret = "1" while(min ~= max) do local mid = math.ceil((min + max) / 2) io.write("? " .. mid .. "\n") io.flush() ret = io.read() if(ret == "1") then min = mid else max = mid - 1 end end io.write("! " .. min .. "\n") io.flush()