#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <cmath>
#include <string>
#include <vector>
#include <list>
#include <iomanip>
#include <stack>
#include <queue>
#include <deque>
#include <set>
#include <map>
#include <unordered_map>
#include <bitset>
#include <chrono>
#include <random>
#define rep(i,n) for(int i=0;i<n;i++)
#define repn(i,n) for(int i=1;i<=n;i++)
#define repr(e,x) for(auto& e:x)
using namespace std;
typedef long long ll;
typedef long double ld;
// typedef pair<int,int> P;
// typedef pair<int,P> IP;
// typedef pair<P,P> PP;
double const PI=3.141592653589793;
int const INF=1001001001;
ll const LINF=1001001001001001001;
ll const MOD=1000000007;

int I[]={1,0,-1,0};
int J[]={0,1,0,-1};

int N=50;
int si, sj;
int t[50][50];
int p[50][50];

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

    string ans;
    vector<int> chk(N*N,1);
    int x=si, y=sj;
    while(true){
        chk[t[x][y]]=0;
        int maxi=-1;
        int id=-1;
        rep(k,4){
            int i=x+I[k];
            int j=y+J[k];
            if(0<=i && i<N && 0<=j && j<N && chk[t[i][j]] && maxi<p[i][j]){
                // cout<<p[i][j]<<endl;
                maxi=p[i][j];
                id=k;
            }
        }
        if(id==-1) break;
        // cout<<id<<endl;
        x+=I[id];
        y+=J[id];
        if(id==0) ans+='D'; 
        else if(id==1) ans+='R'; 
        else if(id==2) ans+='U'; 
        else if(id==3) ans+='L'; 
    }

    cout<<ans<<endl;
    
    return 0;
}
//            ____             ____
//           /@@@@\           |@@@@|      ____
//          /@@@@@@\          |@@@@|     |@@@@|
//         /@@@@@@@@\         |@@@@|   __|@@@@|___    ____       ____      ___  _________     ____        ____    ____________      ___  _________     ____         ____
//        /@@@@/\@@@@\        |@@@@|   @@@@@@@@@@@   |@@@@|     |@@@@|    |@@@\/@@@@@@@@@\   (@@@@\      /@@@@)  /@@@@@@@@@@@@|    |@@@\/@@@@@@@@@\   (@@@@\       /@@@@)
//       /@@@@/  \@@@@\       |@@@@|     |@@@@|      |@@@@|     |@@@@|    |@@@@|    \@@@@@|   \@@@@\    /@@@@/  |@@/     |@@@@|    |@@@@|    \@@@@@|   \@@@@\     /@@@@/
//      /@@@@(____)@@@@\      |@@@@|     |@@@@|      |@@@@|     |@@@@|    |@@@@|     |@@@@|    \@@@@\  /@@@@/            |@@@@|    |@@@@|     |@@@@|    \@@@@\   /@@@@/
//     /@@@@@@@@@@@@@@@@\     |@@@@|     |@@@@|      |@@@@|     |@@@@|    |@@@@|     |@@@@|     \@@@@\/@@@@/    /@@@@@@@@@@@@@|    |@@@@|     |@@@@|     \@@@@\ /@@@@/
//    /@@@@@@@@@@@@@@@@@@\    |@@@@|     |@@@@|___   |@@@@|____/@@@@@|    |@@@@|     |@@@@|      \@@@@@@@@/    (@@@@(   )@@@@@|    |@@@@|     |@@@@|      \@@@@|@@@@/
//   /@@@@/          \@@@@\   |@@@@|     |@@@@@@@@    \@@@@@@@@@@@@@@|    |@@@@|     |@@@@|       \@@@@@@/      \@@@@\_/@@@@@@|    |@@@@|     |@@@@|       \@@@@@@@/
//  /@@@@/            \@@@@\  |@@@@|      \@@@@@@/      \@@@@@/  \@@@|    |@@@@|     |@@@@|        )@@@@/        \@@@@@@@/\@@@|    |@@@@|     |@@@@|        \@@@@@/
//                                                                                                (@@@@/

#include <bits/stdc++.h>
// #include <ext/pb_ds/assoc_container.hpp>
// #include <ext/pb_ds/tree_policy.hpp>

using namespace std;
// using namespace __gnu_pbds;

//-----------------------------------------------
#define all(x)  x.begin(), x.end()
#define sz(x)   (int)x.size()
#define sq(x)   (x) * (x)
#define fr      first
#define sc      second
//-----------------------------------------------
using ll = long long;
using ld = long double;
using pii = pair<int, int>;
using pli = pair<ll, int>;

const int N   = 1000 * 1000 + 5;
const ll mod  = 1000000007;
const ll mod3 = 998244353;
const ll INFL = 1000000000 * 1ll * 1000000000 + 500000;
const ll INF  = 1000000000;
const ld pi   = acosl(-1.0);

vector<int> a, b;
set<int> sa, sb, overall;
int n, m;

void input() {
  cin >> n >> m;
  a.resize(n);
  b.resize(m);
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    overall.insert(a[i]);
  }
  for (int i = 0; i < m; i++) {
    cin >> b[i];
    overall.insert(b[i]);
  }
  sa = set<int>(a.begin(), a.end());
  sb = set<int>(b.begin(), b.end());
}

void solve(int testId) {
  for (int element : overall) {
    if ((sa.find(element) == sa.end()) ^ (sb.find(element) == sb.end())) {
      cout << element << " ";
    }
  }
  cout << endl;
}

int main() {
  // freopen("test", "r", stdin);
  int testcases = 1;
  // scanf("%d", &testcases);
  for(int testId = 1; testId <= testcases; testId++) {
    input();
    solve(testId);
  }
  return 0;
}
