// RandomUsername (Nikola Jovanovic)
// MindCoding 2016
// Round 1
// B

#include <bits/stdc++.h>
#define DBG false
#define debug(x) if(DBG) printf("(ln %d) %s = %d\n", __LINE__, #x, x);
#define lld long long
#define ff(i,a,b) for(int i=a; i<=b; i++)
#define fb(i,a,b) for(int i=a; i>=b; i--)
#define par pair<int, int>
#define fi first
#define se second
#define mid (l+r)/2
#define INF 1000000000
#define MAXN 100005

using namespace std;

const int N = 200;

struct coord
{
    int i, j;
};

void doMat(coord a, coord b)
{
    if(a.i > b.i) return;
    if(a.j > b.j) return;
    coord pivot{(a.i + b.i)/2, (a.j + b.j)/2};
    printf("%d %d\n", pivot.i, pivot.j);
    fflush(stdout);
    int res;
    scanf("%d", &res);
    if(res == 0) exit(0);
    else if(res > 0)
    {
        doMat({a.i, a.j}, {pivot.i-1, pivot.j-1});
        doMat({a.i, pivot.j}, {pivot.i-1, b.j});
        doMat({pivot.i, a.j}, {b.i, pivot.j-1});
    }
    else
    {
        doMat({pivot.i+1, pivot.j+1}, {b.i, b.j});
        doMat({a.i, pivot.j+1}, {pivot.i, b.j});
        doMat({pivot.i+1, a.j}, {b.i, pivot.j});
    }
}

int main()
{
    doMat({0, 0}, {199, 199});
    return 0;
}