#include <cstdio>
#include <iostream>
#include <vector>
#include <queue>
#include <utility>
#include <algorithm>
#include <functional>
#include <string>
#include <cstring>
#include <cmath>
#include <map>
#include <set>
#include <bitset>
#include <stack>
#include <iomanip>
#define NMAX 205
#define LMAX 5005
#define INF (1<<30)

using namespace std;

//FILE *fin = freopen("fisier.in", "r", stdin);
//FILE *fout = freopen("fisier.out", "w", stdout);

typedef pair<int, int> pii;

int v[NMAX][NMAX];

int main() {
	int nr, mid, st, dr, val, pos=200, smallest = INF;

	memset(v, -1, sizeof(v));

	st = 0;
	dr = 199;
	while (st <= dr) {
		mid = (st + dr) >> 1;

		cout << 0 << ' ' << mid << '\n';
		cout.flush();
		cin >> val;

		if (val < smallest && val>=0) {
			pos = mid;
			smallest = val;
		}

		v[0][mid] = val;
		if (val == 0)
			break;

		if (val > 0)
			dr = mid - 1;
		else
			st = mid + 1;
	}

	if (val != 0) {
		st = 0;
		dr = 199;
		--pos;
		while (st <= dr) {
			mid = (st + dr) >> 1;

			cout << mid << ' ' << pos << '\n';
			cout.flush();
			cin >> val;

			v[mid][pos] = val;
			if (val == 0)
				break;

			if (val > 0)
				dr = mid - 1;
			else
				st = mid + 1;
		}
	}

	return 0;
}