#include<iostream>
#include<string>
#include<deque>
using namespace std;
#define MAX_MAP 10

deque<string> map;

int y=0,x=-1,vec=0;
string v="RULD";
int dvx[4]={1,0,-1,0};
int dvy[4]={0,-1,0,1};

bool wall_front(){
	switch(vec){
	case 0:
		if(map[y*2+1][(x+2)+1]=='1'){
			return true;
		}else{
			return false;
		}
	case 1:
		if(map[y*2][(x+2)]=='1'){
			return true;
		}else{
			return false;
		}
	case 2:
		//cout<<map[y*2+1]<<" "<<(x+2)<<endl;
		if(map[y*2+1][(x+2)]=='1'){
			return true;
		}else{
			return false;
		}
	case 3:
		if(map[y*2+2][(x+2)]=='1'){
			return true;
		}else{
			return false;
		}
	}
}

bool wall_straight(){
	switch(vec){
	case 0:
		if(map[y*2+2][(x+2)+1]=='1'){
			return true;
		}else{
			return false;
		}
	case 1:
		if(map[y*2-1][(x+2)+1]=='1'){
			return true;
		}else{
			return false;
		}
	case 2:
		if(map[y*2][(x+2)-1]=='1'){
			return true;
		}else{
			return false;
		}
	case 3:
		if(map[y*2+3][(x+2)]=='1'){
			return true;
		}else{
			return false;
		}
	}
}

bool wall_rightAngle(){
	switch(vec){
	case 0:
		if(map[(y*2+1)+2][(x+2)+1]=='1'){
			return true;
		}else{
			return false;
		}
	case 1:
		if(map[(y*2+1)-1][(x+2)+1]=='1'){
			return true;
		}else{
			return false;
		}
	case 2:
		if(map[(y*2)-1][(x+2)]=='1'){
			return true;
		}else{
			return false;
		}
	case 3:
		if(map[(y*2+1)+1][(x+2)-1]=='1'){
			return true;
		}else{
			return false;
		}
	}
}



void go_straight(){
	cout<<v[vec];
	y+=dvy[vec];
	x+=dvx[vec];
	//cout<<"move now_pos="<<y<<" "<<x<<" "<<v[vec]<<endl;
}
void go_straight_move(){
	y+=dvy[vec];
	x+=dvx[vec];
	//cout<<"move now_pos="<<y<<" "<<x<<" "<<v[vec]<<endl;
}

void solve(){
	int count=0;
	while(y!=1||x!=0){
		if(count>100)break;
		//cout<<y<<" "<<x<<" "<<v[vec]<<endl;
		if(wall_front()){
			//cout<<"front"<<endl;
			vec++;
			vec=vec%4;
			cout<<v[vec];
		}else if(wall_straight()){
			//cout<<"straight"<<endl;
			go_straight();
		}else if(wall_rightAngle()){
			//cout<<"right"<<endl;
			go_straight_move();
			vec+=3;
			vec=vec%4;
			go_straight();
		}else{
			//cout<<"turn"<<endl;
			go_straight();
			vec+=3;
			vec=vec%4;
			go_straight_move();
			vec+=3;
			vec=vec%4;
			go_straight();
		}
		count++;
	}
}


int main(){
	string s;
	while(cin.eof()!=true){
		cin>>s;
		s="00"+s+"00";
		map.push_back(s);
	}
	map.push_front("000000000000000000000");
	map.push_front("000000000000000000000");
	map.push_back("000000000000000000000");
	map.push_back("000000000000000000000");
	/*
	for(int i=0;i<map.size();i++){
		cout<<map[i]<<endl;
	}*/
	solve();
	cout<<endl;
	return 0;
}