#include using namespace std; long long binarySearch(function func, long long include, long long exclude) { while (abs(exclude - include) > 1) { long long middle = (include + exclude) / 2; (func(middle) ? include : exclude) = middle; } return include; } int main() { auto f = [](int m){ cout << "? " << m << endl; int res; cin >> res; return res; }; cout << "! " << binarySearch(f, 1, 1e9 + 1) << endl; }