#include using namespace std; typedef long double ld; typedef long long ll; typedef pair ii; typedef pair dd; typedef vector vi; typedef vector vll; typedef vector> vvi; typedef vector vii; void play(unsigned int &l, unsigned int &r, unsigned int &t,unsigned int &b) { unsigned int val = r^t^b; if (l > 0 && val <= l) { cout << "left " << l-val << endl; l = val; return; } val = l^t^b; if (r > 0 && val <= r) { cout << "right " << r-val << endl; r = val; return; } val = l^r^b; if (t > 0 && val <= t) { cout << "top " << t-val << endl; t = val; return; } val = l^r^t; if (b > 0 && val <= b) { cout << "bottom " << b-val << endl; b = val; return; } } int main(){ ios::sync_with_stdio(false); int R, C, K; cin >> R >> C >> K; unsigned int mx = 1000000, Mx = 0, my = 1000000, My = 0; for(int i = 0; i < K; ++i) { unsigned int x, y; cin >> y >> x; mx = min(mx, x); Mx = max(Mx, x); my = min(my, y); My = max(My, y); } unsigned int val = 0; unsigned int l, r, t, b; l = (mx-1); t = (my-1); r = (C - Mx); b = (R - My); val = l^r^t^b; // cout << val << endl << l << " " << r << " " << t << " " << b << endl; string dir; int n; if (val != 0) { // begin play(l, r, t, b); while(true) { cin >> dir; if (dir == "yuck!") break; cin >> n; if (dir == "left") l -= n; if (dir == "right") r -= n; if (dir == "top") t -= n; if (dir == "bottom") b -= n; play(l, r, t, b); } } else { //not begin cout << "pass" << endl; while(true) { cin >> dir; if (dir == "yuck!") break; cin >> n; if (dir == "left") l -= n; if (dir == "right") r -= n; if (dir == "top") t -= n; if (dir == "bottom") b -= n; play(l, r, t, b); } } }