#include <bits/stdc++.h>

using namespace std;

/*  テンプレここから */
typedef long long ll;

#define rep(i, n) for(int i = 0; i < n; ++i)
#define repi(i, start, end) for(int i = start; i < end; ++i)
#define all(x) (x).begin(), (x).end()
#define INF (1e9)
#define INFL (1e18)
#define add_mod(a, b, x) ( (ll)(a) + (ll)(b) ) % (ll)(x)
#define mul_mod(a, b, x) ( ((ll)(a) % (ll)(x)) * ((ll)(b) % (ll)(x)) ) % (ll)(x)
#define out(x) cout << (x) << endl;
#define outyes(bool_val) cout << (bool_val ? "yes" : "no") << endl;
#define outYes(bool_val) cout << (bool_val ? "Yes" : "No") << endl;
#define outYES(bool_val) cout << (bool_val ? "YES" : "NO") << endl;
#define outPossible(bool_val) cout << (bool_val ? "Possible" : "Impossible") << endl;
#define outPOSSIBLE(bool_val) cout << (bool_val ? "POSSIBLE" : "IMPOSSIBLE") << endl;

ll sub_mod(ll a, ll b, ll x){
    ll tmp = (a - b) % x;
    if(tmp < 0) tmp += x;
    return tmp;
}
ll gcd(ll a, ll b){
    if(b == 0) return a;
    else return gcd(b, a % b);
}

int dx[] = {0, 1, 0, -1};
int dy[] = {-1, 0, 1, 0};
/*  テンプレここまで */

int sx, sy, tx, ty;
vector<vector<int>> visited(2010, vector<int>(2010, -1));
vector<pair<int, int>> goals;
int goal_idx = 1;
queue<pair<int, int>> pos_queue;

string ans(){
    string ans_str = "";
    int x = goals[goal_idx].first, y = goals[goal_idx].second;

    while(x != goals[goal_idx-1].first || y != goals[goal_idx-1].second){
        int min_val = 9999999, min_val_dir = -1;
        for(int i = 0; i < 4; ++ i){
            int mx = x + dx[i], my = y + dy[i];
            if(0 <= mx && mx <= 2002 && 0 <= my && my <= 2002 && 0 <= visited[my][mx] && visited[my][mx] < min_val){
                min_val = visited[my][mx];
                min_val_dir = i;
            }
        }
        x += dx[min_val_dir];
        y += dy[min_val_dir];
        visited[y][x] = 9999999;
        ans_str += ("ULDR"[min_val_dir]);
        //cout << ans_str << endl;
        //cout << x << ", " << y << " : " << goals[goal_idx-1].first << ", " << goals[goal_idx-1].second << " @ " << min_val << endl;
    }

    //cout << "test" << endl;
    rep(i, 2010){
        rep(j, 2010){
            if(visited[i][j] != 9999999) visited[i][j] = -1;
        }
    }
    //cout << "test_2"  << endl;
    return ans_str;
}

int main(){
    cin.tie(0);
    ios::sync_with_stdio(false);

    cin >> sx >> sy >> tx >> ty;
    sx += 1001;
    sy += 1001;
    tx += 1001;
    ty += 1001;
    goals.emplace_back(sx, sy);
    goals.emplace_back(tx, ty);
    goals.emplace_back(sx, sy);
    goals.emplace_back(tx, ty);
    goals.emplace_back(sx, sy);
    visited[sy][sx] = 0;
    pos_queue.emplace(sx, sy);

    while(goal_idx < 5){
        int x = pos_queue.front().first, y = pos_queue.front().second;
        pos_queue.pop();

        if(x == goals[goal_idx].first && y == goals[goal_idx].second){
            cout << ans();
            visited[goals[goal_idx].second][goals[goal_idx].first] = 0;
            visited[goals[min(4, goal_idx + 1)].second][goals[min(4, goal_idx + 1)].first] = -1;
            queue<pair<int, int>> emp;
            pos_queue = emp;
            pos_queue.emplace(goals[goal_idx].first, goals[goal_idx].second);
            ++ goal_idx;
            continue;
        }

        for(int i = 0; i < 4; ++ i){
            int mx = x + dx[i], my = y + dy[i];
            if(0 <= mx && mx <= 2002 && 0 <= my && my <= 2002 && visited[my][mx] == -1){
                visited[my][mx] = visited[y][x] + 1;
                pos_queue.push(make_pair(mx, my));
            }
        }
    }

    cout << endl;
}

Measured memory_bytes: 16128