#include<bits/stdc++.h>
#define _GLIBCXX_DEBUG
using namespace std;
#define rep(i,n) for(int i=0;i<(n);i++)
#define all(v) v.begin(),v.end()
#define PI acos(-1)
typedef  long long ll;
ll MOD=1000000007;

ll gcd(ll x,ll y){
   if(y==0) return x;
   else return gcd(y,x%y);
}
ll lcm(ll x,ll y){
   return x/gcd(x,y)*y;
}

using Graph=vector<vector<int>>;

int H=50,W=50;
bool seen[55][55];
int t[55][55];
int p[55][55];


const int dx[5]={-1,1,0,0,0};
const int dy[5]={0,0,-1,1,0};

set<int> tile;
int cnt=0;
bool f=true;
void dfs(int h,int w){
   if(f==false){
      return;
   }
   /*
   cnt++;
   if(cnt>55){
      return;
   }
   */

   //cout<<h<<":"<<w<<":";
   seen[h][w]=true;
   tile.insert(t[h][w]);
   //cout<<t[h][w]<<":"<<p[h][w]<<":"<<f<<endl;
   for(int dir=0;dir<=4;++dir){
      if(dir==4){
         f=false;
         return;
      }
      int nh=h+dx[dir];
      int nw=w+dy[dir];
      int newtile=t[nh][nw];

      if(nh<0 || nh>=H || nw<0 || nw>=W) {
         continue;
      }

      if(tile.find(newtile)!=tile.end()){
         continue;
      }
      if(seen[nh][nw]==true){
          continue;
      }
      if(dir==0 &&f){
         cout<<"U";
      }
      else if(dir==1 &&f){
         cout<<"D";
      }
      else if(dir==2 &&f){
         cout<<"L";
      }
      else if(dir==3 &&f){
         cout<<"R";
      }
      dfs(nh,nw);
      
   }
}



int main(){
   int si,sj;
   cin>>si>>sj;
   rep(i,H){
      rep(j,W){
         cin>>t[i][j];
      }
   }
   rep(i,H){
      rep(j,W){
         cin>>p[i][j];
      }
   }

   rep(i,55){
      rep(j,55){
         seen[i][j]=false;
      }
   }

   dfs(si,sj);
   return 0;
}

#include <bits/stdc++.h>
using namespace std;

int main() {
    int x, y;
    cin >> x >> y;
    vector<vector<int>> t(50, vector<int> (50));
    for (int i=0;i<50;i++) {
        for (int j=0;j<50;j++) {
            cin >> t[i][j];
        }
    }
    vector<vector<int>> p(50, vector<int> (50));
    for (int i=0;i<50;i++) {
        for (int j=0;j<50;j++) {
            cin >> p[i][j];
        }
    }
    vector<int> jud(2510,0);
    jud[t[x][y]]++;
    while (true) {
        if (x<49) {
            if (jud[t[x+1][y]]==0) {
                cout << "D";
                x++;
                jud[t[x][y]]++;
                continue;
            }
        }
        if (y>0) {
            if(jud[t[x][y-1]]==0) {
                cout << "L";
                y--;
                jud[t[x][y]]++;
                continue;
            }
        }
        if (y<49) {
            if (jud[t[x][y+1]]==0) {
                cout << "R";
                y++;
                jud[t[x][y]]++;
                continue;
            }
        }
        if (x>0) {
            if(jud[t[x-1][y]]==0) {
                cout << "U";
                x--;
                jud[t[x][y]]++;
                continue;
            }
        }
        break;
    }
}