#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int main(){ int H, W, h, w, nh, nw, x; cin >> H >> x; string res; W = H; queue> que; int dx[4] = {1, 0, -1, 0}; int dy[4] = {0, 1, 0, -1}; vector> dist(H, vector(W, -1)); vector> field(H, vector(W)); dist[0][0] = 0; que.push({0, 0}); while(!que.empty()){ tie(h, w) = que.front(); if (h == H-1 && w == W-1){ cout << "Yes" << endl; return 0; } que.pop(); for (int dir=0; dir < 4; dir++){ nh = h + dx[dir]; nw = w + dy[dir]; if (nh < 0 || nh >= H || nw < 0 || nw >= W) continue; if (dist[nh][nw] != -1) continue; if (field[nh][nw] == -1) continue; cout << nh+1 << " " << nw+1 << endl; cin >> res; if (res == "-1") exit(0); else if (res == "Black"){ dist[nh][nw] = dist[h][w] + 1; que.push({nh, nw}); } else field[nh][nw] = -1; } } cout << "No" << endl; return 0; }