#include <bits/stdc++.h>

using namespace std;

int main() {
    int Q = 1000;
    while(Q--){
        int sx, sy, tx, ty;
        cin >> sx >> sy >> tx >> ty;

        string ans;
        if(sx > tx){
            for(int i = sx;i > tx;i--){
                ans.push_back('U');
            }
        }
        if(sx < tx){
            for(int i = sx;i < tx;i++){
                ans.push_back('D');
            }
        }

        if(sy > ty){
            for(int i = sy;i > ty;i--){
                ans.push_back('L');
            }
        }
        if(sy < ty){
            for(int i = sy;i < ty;i++){
                ans.push_back('R');
            }
        }
        cout<<ans<<endl;
        int dist;
        cin >> dist;
    }
    return 0;
}

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

// (i,j) i:上下 j:左右
#define NSIZE (30) // node数
#define ESIZE (29) // edge数
#define TEST_NUM (1000)
bool LOCAL_TEST=false; // 提出時はfalseに変更
bool DB_PRINT=false;
int h[NSIZE][ESIZE]; // h[i:上下][j:左右]
int v[ESIZE][NSIZE]; // v[i:上下][j:左右]
int si[TEST_NUM];
int sj[TEST_NUM];
int ti[TEST_NUM];
int tj[TEST_NUM];
double a[TEST_NUM];
double e[TEST_NUM];
int result[TEST_NUM];

int read_h_v()
{
  // i:上下, j:左右  h_ij,v_ij
  for (int i = 0; i < NSIZE; i++) {
    for (int j = 0; j < ESIZE; j++) {
      cin >> h[i][j];
    }
  }
  for (int i = 0; i < ESIZE; i++) {
    for (int j = 0; j < NSIZE; j++) {
      cin >> v[i][j];
    }
  }
  
  if (DB_PRINT) {
    cout << h[ 0][0] << " " << h[ 0][1] << " " << h[ 0][28] << endl;
    cout << h[ 1][0] << " " << h[ 1][1] << " " << h[ 1][28] << endl;
    cout << h[29][0] << " " << h[29][1] << " " << h[29][28] << endl;
    cout << v[ 0][0] << " " << v[ 0][1] << " " << v[ 0][29] << endl;
    cout << v[28][0] << " " << v[28][1] << " " << v[28][29] << endl;
  }
       
  return 0;
}

int read_s_t_a_e(int k)
{
  cin >> si[k] >> sj[k] >> ti[k] >> tj[k] >> a[k] >> e[k];
  if (DB_PRINT) {
    cout << si[k] << " " << sj[k] << " " << ti[k] << " " << tj[k] << " ";
    cout << a[k] << " " << e[k] << endl;
  }
  
  return 0;
}

int read_s_t(int k)
{
  cin >> si[k] >> sj[k] >> ti[k] >> tj[k];
  if (DB_PRINT) {
    cout << si[k] << " " << sj[k] << " " << ti[k] << " " << tj[k] << endl;
  }
  
  return 0;
}

string query(int si, int sj, int ti, int tj, int prev_result) {
  // WRITE YOUR SOLUTION HERE
  string str;
  
  // 上下に一気に移動
  if (si > ti) {
    for (int i = 0; i < si-ti; i++){
      str.push_back('U');
    }
  }
  else if (si < ti) {
    for (int i = 0; i < ti-si; i++){
      str.push_back('D');
    }
  }
  
  // 左右に一気に移動
  if (sj > tj) {
    for (int i = 0; i < sj-tj; i++){
      str.push_back('L');
    }
  }
  else if (sj < tj) {
    for (int i = 0; i < tj-sj; i++){
      str.push_back('R');
    }
  }
  
  return str;
}

int compute_path_length(string path)
{
  return 0;
}

int read_result()
{
  int result;
  cin >> result;
  
  return result;
}

int main() {
    
    if (LOCAL_TEST) {
        read_h_v();
    }
    int prev_result = 0;
    double score = 0.0;
    for (int k = 0; k < 1000; k++) {
        if (LOCAL_TEST) {
            read_s_t_a_e(k);
        } else {
            read_s_t(k);
        }
        string path = query(si[k], sj[k], ti[k], tj[k], prev_result);
        cout << path << endl << flush;
        if (LOCAL_TEST) {
            int b = compute_path_length(path);
            score = score * 0.998 + a[k] / b;
            prev_result = round(b * e[k]);
        } else {
            prev_result = read_result();
        }
        result[k] = prev_result;
    }
    if (LOCAL_TEST) {
        cout << round(2312311 * score) << endl;
    }
    return 0;
}
