#include <bits/stdc++.h>
using namespace std;
const int maxn = 501;
int n, vis[maxn][maxn], a[maxn][maxn], x, y, s, cnt;
char p[3000010];
int d[4][2] = {0, 1, 1, 0, -1, 0, 0, -1};
bool judge(int x, int y, int i) {
  for (;;) {
    x += d[i][0];
    y += d[i][1];
    if (!x || !y || x > n || y > n) return 0;
    if (vis[x][y]) return 0;
    if (a[x][y]) return 1;
  }
}
void dfs(int x, int y) {
  if (!a[x][y]) p[cnt++] = '1', s++;
  vis[x][y] = 1;
  for (int i = 0; i < 4; i++)
    if (judge(x, y, i)) {
      p[cnt++] = (!i ? 'R' : i == 1 ? 'D' : i == 2 ? 'U' : 'L');
      dfs(x + d[i][0], y + d[i][1]);
      p[cnt++] = (!i ? 'L' : i == 1 ? 'U' : i == 2 ? 'D' : 'R');
    }
  p[cnt++] = '2', s--;
}
int main() {
  scanf("%d%d%d", &n, &x, &y);
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= n; j++) scanf("%d", &a[i][j]), s += a[i][j];
  dfs(x, y);
  p[cnt++] = 0;
  if (s)
    printf("NO\n");
  else
    printf("YES\n%s\n", p);
  return 0;
}
