#pragma GCC optimize(2)
#include <bits/stdc++.h>
#define INF 1000000000
#define LINF 1000000000000000000
#define MOD 1000000007
#define mod 998244353
#define INF63 1061109567
#define INF127 9187201950435737471
#define UINF 18446744073709551615
#define F first
#define S second
#define ll long long
using namespace std;
int main(){
	ll t=1000;
	while(t--)
	{
		ll x,y,a,b;
		cin>>x>>y>>a>>b;
		while(x<a)
		{
			putchar('D');
			x++;
		}
		while(y>b)
		{
			putchar('L');
			y--;
		}
		while(y<b)
		{
			putchar('R');
			y++;
		}
		while(x>a)
		{
			putchar('U');
			x--;
		}
		puts("");
		fflush(stdout);
		ll d;
		cin>>d;
	}
	return 0;
}
#pragma GCC optimize("Ofast")
#include<bits/stdc++.h>
using namespace std;
#define dd double
#define ll long long int
#define ull unsigned long long
#define lld long double  
#define setpre(n) cout << std::setprecision(n);
#define flush fflush(stdin); fflush(stdout);
#define print cout<<"Case #"<<test_case<<": ";
#define light ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define pb push_back
#define ppb pop_back
#define mkp make_pair
#define pi pair<ll,ll>
#define pii pair<ll,pi>
#define fi first
#define sc second
#define PI 3.141592653589793238462

#ifndef ONLINE_JUDGE
#define debug(x) cerr << #x <<" "; _print(x); cerr << endl;
#else
#define debug(x)
#endif

void _print(ll t) {cerr << t;}
void _print(int t) {cerr << t;}
void _print(string t) {cerr << t;}
void _print(char t) {cerr << t;}
void _print(lld t) {cerr << t;}
void _print(double t) {cerr << t;}
void _print(ull t) {cerr << t;}

template <class T, class V> void _print(pair <T, V> p);
template <class T> void _print(vector <T> v);
template <class T> void _print(set <T> v);
template <class T, class V> void _print(map <T, V> v);
template <class T> void _print(multiset <T> v);
template <class T, class V> void _print(pair <T, V> p) {cerr << "{"; _print(p.fi); cerr << ","; _print(p.sc); cerr << "}";}
template <class T> void _print(vector <T> v) {cerr << "[ "; for (T i : v) {_print(i); cerr << " ";} cerr << "]";}
template <class T> void _print(set <T> v) {cerr << "[ "; for (T i : v) {_print(i); cerr << " ";} cerr << "]";}
template <class T> void _print(multiset <T> v) {cerr << "[ "; for (T i : v) {_print(i); cerr << " ";} cerr << "]";}
template <class T, class V> void _print(map <T, V> v) {cerr << "[ "; for (auto i : v) {_print(i); cerr << " ";} cerr << "]";}

ll mod1 = 1e9+7; 
ll INF=1e18+5;
ll mod=998244353;

string get_path(ll s1,ll s2,ll t1,ll t2){
    string s;
    for(ll i=0;i<abs(s1-t1);i++){
        s.pb((s1>t1?'U':'D'));
    }
    for(ll i=0;i<abs(s2-t2);i++){
        s.pb((s2>t2?'L':'R'));
    }
    return s;
}

ll search_min(vector<vector<vector<vector<ll> > > > &a,ll s1,ll s2,ll t1,ll t2,ll &x,ll &y){
    ll dups1= s1,dups2 =s2,dupt1=t1,dupt2=t2;
    if(s1>t1)
        swap(s1,t1);
    if(s2>t2)
        swap(s2,t2);
    ll mi = INF;
    for(ll i=s1;i<=t1;i++){
        for(ll j=s2;j<=t2;j++){
            if(a[dups1][dups2][i][j]<INF && a[dupt1][dupt2][i][j]<INF && (a[dupt1][dupt2][i][j]+a[dups1][dups2][i][j])/2<mi){
                mi = (a[dupt1][dupt2][i][j]+a[dups1][dups2][i][j])/2;
                x = i;
                y = j;
            }
            else{
                if(mi>a[dups1][dups2][i][j]){
                    mi = a[dups1][dups2][i][j];
                    x = i; y = j;
                }
                if(mi>a[dupt1][dupt2][i][j]){
                    mi = a[dupt1][dupt2][i][j];
                    x = i; y = j; 
                }
            }
        }
    }
    return mi;
}

void solve(ll test_case){
    ll q=1000;
    vector<vector<vector<vector<ll> > > > a(30,vector<vector<vector<ll> > >(30,vector<vector<ll> >(30,vector<ll>(30,INF))));
    while(q--){
        ll s1,s2,t1,t2,d;
        cin>>s1>>s2>>t1>>t2;
        flush
        string s;
        ll x=-1,y=-1;
        ll mi = search_min(a,s1,s2,t1,t2,x,y);
        if(mi==INF){
            s = get_path(s1,s2,t1,t2);
        }
        else{
            s = get_path(s1,s2,x,y) + get_path(x,y,t1,t2); 
        }
        cout<<s<<endl;
        flush
        cin>>d;
        a[s1][s2][t1][t2] = a[t1][t2][s1][s2] = d;
        flush
    }
}

int main()
{
    #ifndef ONLINE_JUDGE
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    freopen("Error.txt", "w", stderr);
    #endif

    light;
    ll t=1;
    //cin>>t;
    ll i=1ll;
    while(t--){
        solve(i);
        i++;
    }
}