#include using namespace std; using ll = long long; using ld = long double; #define rep(i,n) for(int i=0;i<(n);i++) #define drep(i,n) for(int i=(n)-1;i>=0;i--) #define rrep(i,n) for(int i=1;i<(n);i++) #define Yes cout << "Yes" << endl #define No cout << "No" << endl #define YN {cout << "Yes" << endl;}else{cout << "No" << endl;} #define dame cout << -1 << endl #define nall(a) a.begin(),a.end() #define rall(a) a.rbegin(),a.rend() #define vout(a) {rep(i,(int)a.size()){cout << a[i] << ' ';} cout << endl;} #define vvout(a) rep(i,(int)a.size()){{rep(j,(int)a[i].size()) cout << a[i][j] << ' ';}cout << '\n';} void chmax(auto& x,auto y){x = max(x,y);} void chmin(auto& x,auto y){x = min(x,y);} #define INF 2e9 void pirntf(ld x) {printf("%.10Lf\n",x);} vector dx = {1,0,-1,0}; vector dy = {0,-1,0,1}; #define Mod 998244353 int main(){ ll l = 0, r = 2e9; while(r-l>1){ int c = (r+l)/2; cout << c << endl; int res; cin >> res; if(res==-1) return 0; if(res){l = c; return 0;} else r = c; } }