#include <bits/stdc++.h>
using namespace std;
template <class T>
T abs(T x) {
  return x > 0 ? x : -x;
}
const char dir[4] = {'D', 'U', 'R', 'L'};
int n;
int m;
string res = "";
int g[500][500];
int was[500][500];
int go(int x, int y) {
  if (!g[x][y]) {
    g[x][y] = 1;
    res += "1";
  }
  was[x][y] = 1;
  for (int t = 0; t < 4; t++) {
    int dx = int(t == 0) - int(t == 1);
    int dy = int(t == 2) - int(t == 3);
    int ok = 0;
    int nx = x + dx, ny = y + dy;
    while (nx >= 0 && ny >= 0 && nx < n && ny < n && !ok) {
      if (g[nx][ny] == 1) ok = 1;
      nx += dx;
      ny += dy;
    }
    if (ok && !was[x + dx][y + dy]) {
      res += dir[t];
      go(x + dx, y + dy);
      res += dir[t ^ 1];
    }
  }
  g[x][y] = 0;
  res += "2";
  return 0;
}
int main() {
  int x, y;
  scanf("%d%d%d", &n, &x, &y);
  x--;
  y--;
  for (int i = 0; i < n; i++)
    for (int j = 0; j < n; j++) scanf("%d", &g[i][j]);
  go(x, y);
  for (int i = 0; i < n; i++)
    for (int j = 0; j < n; j++)
      if (g[i][j]) {
        printf("NO\n");
        return 0;
      }
  printf("YES\n%s\n", res.c_str());
  return 0;
}
