#include <bits/stdc++.h>
#define pb push_back
#define mp make_pair
#define minim(x,y) (x<y?x:y)
#define maxim(x,y) (x>y?x:y)

const int Nmax=100005;
const int N=1005;

using namespace std;

int n,dr,st,mij,ans,nr,i,j;

int main()
{
     #ifndef ONLINE_JUDGE
     freopen("a.in","r",stdin);
     freopen("a.out","w",stdout);
     #endif

    st=1;dr=200;
    while(st<=dr)
    {
        mij=(st+dr)/2;
        printf("%d %d\n",mij-1,mij-1);
        fflush(stdout);
        scanf("%d",&ans);
        if(ans==0) return 0;
        if(ans<0) st=mij+1;
        else dr=mij-1;
    }

    nr=st;

    for(i=200-nr;i<=200;++i)
    for(j=1;j<=nr;++j)
    {
        printf("%d %d\n",i-1,j-1);
        fflush(stdout);
        scanf("%d",&ans);
        if(ans==0) return 0;
    }
    for(i=200-nr;i<=200;++i)
    for(j=1;j<=nr;++j)
    {
        printf("%d %d\n",j-1,i-1);
        fflush(stdout);
        scanf("%d",&ans);
        if(ans==0) return 0;
    }

    return 0;
}