#include #include #include #include #include #include #include #include #include #define L64 long long #define MOD (1000000007LL) int main(void) { int min = 1; int max = 1000000000; int ret = 0; while(min != max){ int mid = (min + max + 1) / 2; std::cout << "? " << mid << std::endl << std::flush; std::cin >> ret; if(ret == 1){ min = mid; } else { max = mid - 1; } } std::cout << "! " << min << std::endl << std::flush; }