#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
cin.tie(nullptr);
ios_base::sync_with_stdio(false);
ll N, x0, y0;
cin >> N >> x0 >> y0;
ll M;
ll l = x0, r = x0, u = y0, d = y0;
ll xs = 1, ys = 1;
for (int i = 1; i <= 98; i++) {
if (xs == 0 && ys == 0) break;
string response;
cout << "examine " << r + 1 * xs << " " << u + 1 * ys << "\n";
cin >> response;
cout << flush;
if (response == "true") {
r++;
u++;
} else {
if (xs == 0) {
ys = 0;
continue;
} else if (ys == 0) {
xs = 0;
continue;
}
string v1, v2;
cout << "examine " << r + 1 << " " << u << "\n";
cin >> v1;
cout << flush;
cout << "examine " << r << " " << u + 1 << "\n";
cin >> v2;
cout << flush;
if (v1 == "false") {
xs = 0;
}
if (v2 == "false") {
ys = 0;
}
}
}
xs = 1;
ys = 1;
for (int i = 1; i <= 98; i++) {
if (xs == 0 && ys == 0) break;
string response;
cout << "examine " << l - 1 * xs << " " << d - 1 * ys << "\n";
cin >> response;
cout << flush;
if (response == "true") {
l--;
d--;
} else {
if (xs == 0) {
ys = 0;
continue;
} else if (ys == 0) {
xs = 0;
continue;
}
string v1, v2;
cout << "examine " << l - 1 << " " << d << "\n";
cin >> v1;
cout << flush;
cout << "examine " << l << " " << d - 1 << "\n";
cin >> v2;
cout << flush;
if (v1 == "false") {
xs = 0;
}
if (v2 == "false") {
ys = 0;
}
}
}
M = r - l;
vector<ll> C = {r - M / 2, u - M / 2};
ll Cx, Cy;
int dir = 1;
int under = 0, diagonal_size = 1;
for (int i = 1; i <= 4; i++) {
string res;
cout << "examine " << C[0] + dir * i * M << " " << C[1] + dir * i * M << "\n";
cin >> res;
cout << flush;
if (res == "false") {
if (dir == -1) break;
dir = -1;
i = 1;
continue;
}
if (dir == -1) under++;
diagonal_size++;
}
if (diagonal_size == 5) {
Cx = C[0] + M * (2 - under);
Cy = C[1] + M * (2 - under);
} else if (diagonal_size == 3) {
string query;
if (under == 0) {
if (C[1] - 2 * M > 0) {
cout << "examine " << C[0] - 2 * M << " " << C[1] << "\n";
cin >> query;
cout << flush;
if (query == "true") {
Cx = C[0] + 2 * M;
Cy = C[1];
} else {
Cx = C[0];
Cy = C[1] + 2 * M;
}
} else {
Cx = C[0];
Cy = C[1] + 2 * M;
}
} else if (under == 1) {
if (C[1] + 2 * M <= N) {
cout << "examine " << C[0] << " " << C[1] + 2 * M << "\n";
cin >> query;
cout << flush;
if (query == "true") {
Cx = C[0] - M;
Cy = C[1] + M;
} else {
Cx = C[0] + M;
Cy = C[1] - M;
}
} else {
Cx = C[0] + M;
Cy = C[1] - M;
}
} else {
if (C[0] + 2 * M <= N) {
cout << "examine " << C[0] + 2 * M << " " << C[1] << "\n";
cin >> query;
cout << flush;
if (query == "true") {
Cx = C[0] + 2 * M;
Cy = C[1];
} else {
Cx = C[0] - 2 * M;
Cy = C[1];
}
} else {
Cx = C[0] - 2 * M;
Cy = C[1];
}
}
} else {
string res;
if (C[0] + 2 * M <= N) {
cout << "examine " << C[0] + 2 * M << " " << C[1] << "\n";
cin >> res;
cout << flush;
if (res == "true") {
Cx = C[0] + 2 * M;
Cy = C[1] - 2 * M;
} else {
Cx = C[0] - 2 * M;
Cy = C[1] + 2 * M;
}
} else {
Cx = C[0] - 2 * M;
Cy = C[1] + 2 * M;
}
}
cout << "solution " << Cx << " " << Cy << "\n";
}