#include using namespace std; typedef long long ll; typedef long double ld; #define rep(i, a, n) for (int i = (a); i < (n); i++) #define per(i, a, n) for (int i = (n) - 1; i >= (a); i--) #define FOR(i, n) rep(i, a, (n)) int nimber(vector& nim) { int x = 0; rep(i,0,nim.size()) { x = x ^ nim[i]; } return x; } int main(void) { //ios_base::sync_with_stdio(false); int r, c, k; cin >> r >> c >> k; int x1 = r, x2 = 0, y1 = c, y2 = 0; rep(i,0,k) { int x, y; cin >> x >> y; x1 = min(x1, x); x2 = max(x2, x); y1 = min(y1, y); y2 = max(y2, y); }\ vector nim = {x1 - 1, r - x2, y1 - 1, c - y2}; vector sides = {"top", "bottom", "left", "right"}; //rep(i,0,4) cout << nim[i] << " "; cout << endl; while(true) { int nm = nimber(nim); if (nm == 0) { cout << "pass" << endl; } else { rep(i,0,4) { int want = nim[i] ^ nm; if (want < nim[i]) { //cout << nim[i] << " " << nm << " " << want << endl; //assert(want < nim[i]); cout << sides[i] << " " << (nim[i] - want) << endl; nim[i] = want; break; } } } cout << flush; string s; int taken; cin >> s; if (s == "yuck!") { return 0; } cin >> taken; rep(i,0,4) { if (s == sides[i]) { nim[i] -= taken; break; } } } }