#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 J(int x, int y, int i) {     while (true) {       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 (J(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;   }   