#include using namespace std; int inds[100][100]; vector> g; vector> h; int n; void addR(int x, int y){ for(int i = 0; i < n; i++){ if(i == y || inds[x][i] == -1) continue; g[inds[x][y]].push_back(inds[x][i]); } for(int i = 0; i < n; i++){ if(i == x || inds[i][y] == -1) continue; g[inds[x][y]].push_back(inds[i][y]); } } void addB(int x, int y){ for(int i = -n+1; i < n; i++){ if(i == 0) continue; if(x-i >= 0 && y-i >= 0 && inds[x-i][y-i] != -1) g[inds[x][y]].push_back(inds[x-i][y-i]); if(x+i < n && y+i < n && inds[x+i][y+i] != -1) g[inds[x][y]].push_back(inds[x+i][y+i]); if(x-i >= 0 && y+i < n && inds[x-i][y+i] != -1) g[inds[x][y]].push_back(inds[x-i][y+i]); if(x+i < n && y-i >= 0 && inds[x+i][y-i] != -1) g[inds[x][y]].push_back(inds[x+i][y-i]); } } void addQ(int x, int y){ addR(x, y); addB(x, y); } bool jo(int x, int y) { return x >= 0 && y >= 0 && x < n && y < n; } void addK(int x, int y){ for(int i = -1; i <= 1; i++){ for(int j = -1; j <= 1; j++){ if((i == 0 && j == 0) || !jo(x+i, y+j) || inds[x+i][y+j] == -1) continue; g[inds[x][y]].push_back(inds[x+i][y+j]); } } } void addN(int x, int y){ for(int i : {-2, -1, 1, 2}){ int j = 3 - abs(i); if(jo(x+i, y+j) && inds[x+i][y+j] != -1) g[inds[x][y]].push_back(inds[x+i][y+j]); if(jo(x+i, y-j) && inds[x+i][y-j] != -1) g[inds[x][y]].push_back(inds[x+i][y-j]); } } vector volt; vector> ki; int bejar(int akt){ volt[akt] = true; int ret = 1; for(int &x : g[akt]){ if(!volt[x]){ ret += bejar(x); ki.push_back({h[x].first, h[x].second, h[akt].first, h[akt].second}); } } return ret; } int main(){ ios_base::sync_with_stdio(false); cin.tie(0); char t; cin>>n>>t; int ind = 0, db = 0; for(int i = 0; i < n; i++){ for(int j = 0; j < n; j++){ char c; cin>>c; if(c == '.'){ inds[i][j] = -1; continue; } db++; inds[i][j] = ind++; g.push_back(vector()); h.push_back(make_pair(i+1, j+1)); } } for(int i = 0; i < n; i++){ for(int j = 0; j < n; j++){ if(inds[i][j] == -1) continue; if(t == 'R') addR(i, j); else if(t == 'Q') addQ(i, j); else if(t == 'B') addB(i, j); else if(t == 'N') addN(i, j); else addK(i, j); } } volt.assign(ind, false); if(bejar(0) == db){ cout<<"YES\n"; for(vector v : ki){ for(int x : v) cout<