#include #define st first #define nd second #define pb push_back #define rep(i, a, b) for(int i = (a); i < (b); ++i) #define sci(x) int x; cin >> x; #define scvi(v, n) vector v(n); rep(i, 0, n) cin >> v[i]; using namespace std; typedef long long ll; typedef pair ii; typedef vector vi; int a[4]; int xr() { return a[0]^a[1]^a[2]^a[3]; } string mvs[4] = {"top", "left", "bottom" , "right"}; int main() { int r,c,k; cin >> r >> c >> k; int minx = 1<<20; int maxx = 0; int miny = 1<<20; int maxy = 0; for (int i=0; i> x >> y; minx = min(x, minx); miny = min(y, miny); maxx = max(x, maxx); maxy = max(y, maxy); } a[0] = minx-1; // top a[1] = miny-1; // left a[2] = r-maxx; // bottom a[3] = c-maxy; // right // cout << a[0] << " " << a[1] << " " << a[2] << " " << a[3] << "\n\n"; if (xr() == 0) { cout << "pass" << endl; string mv; cin >> mv; if (mv == "yuck!") return 0; int am; cin >> am; if (mv == "top") a[0] -= am; if (mv == "left") a[1] -= am; if (mv == "bottom") a[2] -= am; if (mv == "right") a[3] -= am; } while(a[0] + a[1] + a[2] + a[3] > 0) { int xrr = xr(); int am = 0; int j = 0; for (j=0; j<4; j++) { if ((xrr^a[j]) <= a[j]) { am = a[j] - (xrr^a[j]); break; } } a[j] -= am; cout << mvs[j] << " " << am << endl; // cout << a[0] << " " << a[1] << " " << a[2] << " " << a[3] << endl; string mv; cin >> mv; if (mv == "yuck!") return 0; cin >> am; if (mv == "top") a[0] -= am; if (mv == "left") a[1] -= am; if (mv == "bottom") a[2] -= am; if (mv == "right") a[3] -= am; // cout << a[0] << " " << a[1] << " " << a[2] << " " << a[3] << endl; } return 0; }