#include using namespace std; #define rep(i, n) for (int i = 0; i < (n); ++i) using ll = long long; using ull = unsigned long long; int main() { int l = 1, r = 1'000'001; int prv = 0; cout << "? 0" << endl; while (r - l > 1) { int mid = (l + r) / 2; int cur = 2 * mid - prv - 1; cout << "? " << cur << endl; int res; cin >> res; (res == (cur >= prv) ? l : r) = mid; prv = cur; } cout << "! " << l << endl; return 0; }