#include using namespace std; int ask(int x) { static int cnt = 0; static map cac; int res; assert(x - cnt >= 0); cout << "? " << x - cnt << endl; cin >> res; cac[x - cnt] = res; cnt++; return res; } int solve() { if (ask(40) == -1){ for (int i = 10;; i++){ if (ask(i) == 0) return i; } } int l = 0, r = 1e9 + 10; while (l + 1 < r){ int m = (l + r) / 2; if (ask(m) == 0) return m; if (ask(m) == -1) r = m; else l = m; } } int main() { cout << "! " << solve() << endl; }