/*
MindCoding 2016 Round 1
Vladimir VladimirM98 Milenkovic
*/
#include <bits/stdc++.h>
using namespace std;
const int N=4;
int done[N];
void f(int loR,int loC,int hiR,int hiC){
    //printf("%d %d %d %d\n",loR,loC,hiR,hiC);
    if(loR>hiR||loC>hiC) return;
    int searchR=loR+(hiR-loR)/2;
    int searchC=loC+(hiC-loC)/2;
    printf("%d %d\n",searchR,searchC);
    fflush(stdout);
    int x;
    scanf("%d",&x);
    if(x==0) {
        exit(0);
    } else if(x>0){
        f(loR,loC,searchR-1,searchC-1);
        f(loR,searchC,searchR-1,hiC);
        f(searchR,loC,hiR,searchC-1);
    }
    else{
        f(searchR+1,searchC+1,hiR,hiC);
        f(loR,searchC+1,searchR,hiC);
        f(searchR+1,loC,hiR,searchC);
    }
 }
int main()
{
    f(0,0,N-1,N-1);
    return 0;
}