#include<string>
#include<vector>
#include<iostream>
#include<sstream>
#include<cstdio>
#include<cstdlib>
#include<functional>
#include<algorithm>
#include<stack>
#include<queue>
#include<deque>
#include<set>
#include<map>
#include<utility>
#include<cmath>
#include<ctime>
#include<complex>

using namespace std;

#define REP(i,s,e) for(int i=int(s);i<=int(e);i++)
#define rep(i,n) for(int i=0;i<int(n);i++)

char lab[11][7];
string s;

void f(int i,int j){

	if(i==1 && j==1) return;
	else{

		string a="URDLURDLUR";
		int dx[]={0 ,-1,0,1, 0,-1,0};
	    int dy[]={-1, 0,0,0,-1, 0,0};

        rep(k,4){
		if(s[s.size()-1]==a[k]){

		if(lab[i+dx[k]][j+dy[k]]-'0'==1){
			s+=a[k+3];
			if(dx[k]==0 && dy[k]==0) f(i,j+1);  else f(i+2*dx[k],j+dy[k]);
		}
		else if(lab[i+dx[k+1]][j+dy[k+1]]-'0'==1){
			s+=a[k+4];
			if(dx[k+1]==0 && dy[k+1]==0) f(i,j+1);  else f(i+2*dx[k+1],j+dy[k+1]);
		}
		else if(lab[i+dx[k+2]][j+dy[k+2]]-'0'==1){
			s+=a[k+5];
			if(dx[k+2]==0 && dy[k+2]==0) f(i,j+1);  else f(i+2*dx[k+2],j+dy[k+2]);
		}
		else if(lab[i+dx[k+3]][j+dy[k+3]]-'0'==1){
			s+=a[k+6];
			if(dx[k+3]==0 && dy[k+3]==0) f(i,j+1);  else f(i+2*dx[k+3],j+dy[k+3]);
		}
		break;
		}
		}

	}

}

int main(){

	REP(i,1,9){
	if(i%2==1)
	REP(j,1,4) cin >> lab[i][j];
	else
	REP(k,1,5) cin >> lab[i][k];
	}

    s+='R';

   f(1,2);

   cout << s << endl;

   return 0;
}