#include using namespace std; int query(int y) { cout << "? " << y << endl; cout.flush(); int x; cin >> x; return x; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); long long hi = numeric_limits::max(); long long lo = -1; int c = query(64); int t = 1; if (c <= 0) { for (;;) { c = query(0); if (c == 0) { cout << t << endl; return 0; } ++t; } } while (hi - lo > 1) { long long mi = (lo + hi) / 2; c = query(mi - t); if (c > 0) lo = mi; else hi = mi; ++t; } cout << "! " << hi << endl; cout.flush(); return 0; }