#include <iostream>
#include <queue>
#include <cctype>
#include <cstring>
using namespace std;

int i, j, stj, sti, nr, si, sj, fi, fj, mi, mj, fn1i, fn1j, fn2i, fn2j, fni, fnj, mni, mnj, lastmi, lastmj;
bool found;
queue<int> coada;
int alt;
int main()
{
	si=0;
	sj=0;
	fi=199;
	fj=199;
	while(!found)
	{
		while(si<=fi && sj<=fj)
		{
			mi=(si+fi)/2;
			mj=(sj+fj)/2;
			cout<<mi<<" "<<mj<<"\n";
			cout.flush();
			cin>>alt;
			if(alt==0)
			{
				exit(0);
			}
			if(alt>0)
			{
				sti=lastmi;
				stj=lastmj;
				fni=mi-1;
				fnj=mj-1;
				while(sti<=fni)
				{
					mni=(sti+fni)/2;
					mnj=mj;
					cout<<mni<<" "<<mnj<<"\n";
					cout.flush();
					cin>>alt;
					if(alt==0)
					{
						exit(0);
					}
					if(alt<0)
					{
						sti=mni+1;
					}
					if(alt>0)
					{
						fni=mni-1;
					}
				}
				while(stj<=fnj)
				{
					mni=mi;
					mnj=(stj+fnj)/2;
					cout<<mni<<" "<<mnj<<"\n";
					cout.flush();
					cin>>alt;
					if(alt==0)
					{
						exit(0);
					}
					if(alt<0)
					{
						stj=mnj+1;
					}
					if(alt>0)
					{
						fnj=mnj-1;
					}
				}
				fi=mi-1;
				fj=mj-1;
			}
			else
			{
				sti=mi+1;
				stj=mj+1;
				fni=lastmi;
				fnj=lastmj;
				while(sti<=fni)
				{
					mni=(sti+fni)/2;
					mnj=mj;
					cout<<mni<<" "<<mnj<<"\n";
					cout.flush();
					cin>>alt;
					if(alt==0)
					{
						exit(0);
					}
					if(alt<0)
					{
						sti=mni+1;
					}
					if(alt>0)
					{
						fni=mni-1;
					}
				}
				while(stj<=fnj)
				{
					mni=mi;
					mnj=(stj+fnj)/2;
					cout<<mni<<" "<<mnj<<"\n";
					cout.flush();
					cin>>alt;
					if(alt==0)
					{
						exit(0);
					}
					if(alt<0)
					{
						stj=mnj+1;
					}
					if(alt>0)
					{
						fnj=mnj-1;
					}
				}
				lastmi=mi;
				lastmj=mj;
				si=mi+1;
				sj=mj+1;
			}
		}
		break;
	}
}