#include <bits/stdc++.h>
using namespace std;
const int N = 505;
bool board[N][N];
bool vst[N][N];
bool edges[N][N][5];
int fx[] = {0, 1, 0, -1};
int fy[] = {1, 0, -1, 0};
char ch[] = {'D', 'R', 'U', 'L'};
queue<pair<int, int> > q;
int n;
bool comp[N][N];
bool check(int y, int x, int dy, int dx) {
  if (y < 0 || y >= n || x < 0 || x >= n) return false;
  if (vst[y][x]) return false;
  if (board[y][x]) {
    q.push({y, x});
    vst[y][x] = true;
    return true;
  }
  if (check(y + dy, x + dx, dy, dx)) {
    q.push({y, x});
    vst[y][x] = true;
    if (dx == 0 && dy == 1) edges[y][x][0] = true;
    if (dx == 1 && dy == 0) edges[y][x][1] = true;
    if (dx == 0 && dy == -1) edges[y][x][2] = true;
    if (dx == -1 && dy == 0) edges[y][x][3] = true;
    return true;
  }
  return false;
}
void build(int yo, int xo) {
  q.push({yo, xo});
  vst[yo][xo] = true;
  while (!q.empty()) {
    pair<int, int> ini = q.front();
    comp[ini.first][ini.second] = true;
    q.pop();
    for (int c = int(0); c < int(4); ++c)
      if (check(ini.first + fy[c], ini.second + fx[c], fy[c], fx[c])) {
        edges[ini.first][ini.second][c] = true;
      }
  }
}
string ans;
void ter(int y, int x, char chh) {
  vst[y][x] = true;
  if (!board[y][x]) ans.push_back('1');
  for (int c = int(0); c < int(4); ++c)
    if (edges[y][x][c]) {
      int yy = y + fy[c];
      int xx = x + fx[c];
      if (yy < 0 || yy >= n) continue;
      if (xx < 0 || xx >= n) continue;
      if (vst[yy][xx]) continue;
      if (!comp[yy][xx]) continue;
      ans.push_back(ch[c]);
      ter(yy, xx, ch[c]);
    }
  ans.push_back('2');
  if (chh != 'x') {
    if (chh == 'U') ans.push_back('D');
    if (chh == 'D') ans.push_back('U');
    if (chh == 'L') ans.push_back('R');
    if (chh == 'R') ans.push_back('L');
  }
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int yo, xo;
  cin >> n >> yo >> xo;
  yo--, xo--;
  for (int i = int(0); i < int(n); ++i)
    for (int j = int(0); j < int(n); ++j) cin >> board[i][j];
  build(yo, xo);
  for (int i = int(0); i < int(n); ++i)
    for (int j = int(0); j < int(n); ++j) {
      if (board[i][j] && !comp[i][j]) {
        cout << "NO" << endl;
        return 0;
      }
    }
  memset(vst, false, sizeof(vst));
  ter(yo, xo, 'x');
  cout << "YES" << endl;
  cout << ans << endl;
  return 0;
}
