#include <bits/stdc++.h>
using namespace std;
const int N = 507;
const char ch[5] = "DRUL";
const int dx[4] = {1, 0, -1, 0};
const int dy[4] = {0, 1, 0, -1};
int n, sx, sy, a[N][N], b[N][N];
bool used[N][N];
string hist;
void go(int x, int y) {
  used[x][y] = true;
  if (b[x][y] == 0) hist += '1';
  b[x][y] = 1;
  for (int d = 0; d < 4; ++d) {
    int tx = x + dx[d];
    int ty = y + dy[d];
    if (tx < 1 || ty < 1 || tx > n && ty > n || used[tx][ty]) continue;
    bool f = false;
    for (int k = 1; !f; ++k) {
      int fx = x + k * dx[d];
      int fy = y + k * dy[d];
      if (fx < 1 || fy < 1 || fx > n || fy > n) break;
      if (b[fx][fy]) f = true;
    }
    if (f) {
      hist += ch[d];
      go(tx, ty);
      hist += ch[(d + 2) % 4];
    }
  }
}
void dfs(int x, int y) {
  b[x][y] = 0;
  for (int d = 0; d < 4; ++d) {
    int tx = x + dx[d];
    int ty = y + dy[d];
    if (tx < 1 || ty < 1 || tx > n && ty > n || !b[tx][ty]) continue;
    hist += ch[d];
    dfs(tx, ty);
    hist += ch[(d + 2) % 4];
  }
  hist += '2';
}
int main() {
  scanf("%d%d%d", &n, &sx, &sy);
  for (int i = 1; i <= n; ++i) {
    for (int j = 1; j <= n; ++j) {
      scanf("%d", &a[i][j]);
      b[i][j] = a[i][j];
    }
  }
  go(sx, sy);
  for (int i = 1; i <= n; ++i) {
    for (int j = 1; j <= n; ++j) {
      if (a[i][j] && !used[i][j]) {
        puts("NO");
        return 0;
      }
    }
  }
  puts("YES");
  dfs(sx, sy);
  printf("%s\n", hist.c_str());
  return 0;
}
