#include <iostream>
#include <bitset>
using namespace std;

enum Dir
{
	U,R,D,L,DirSize
};

int main()
{
	bitset<DirSize+1> node[10][10];
	for(int y=0; y<5; y++)
	for(int x=0; x<5; x++)
	{
		node[y*2  ][x*2  ].set(R);
		node[y*2  ][x*2  ].set(D);
		node[y*2  ][x*2+1].set(D);
		node[y*2  ][x*2+1].set(L);
		node[y*2+1][x*2+1].set(L);
		node[y*2+1][x*2+1].set(U);
		node[y*2+1][x*2  ].set(U);
		node[y*2+1][x*2  ].set(R);
	}
	node[0][0].reset(D);
	node[1][0].reset(U);

	char str[16];
	for(int y=0; y<5; y++)
	{
		cin>>str;
		for(int x=0; x<4; x++)
		{
			if(str[x]=='1')
			{
				node[y*2  ][x*2+1].set(R);
				node[y*2  ][x*2+1].reset(D);
				node[y*2+1][x*2+1].set(R);
				node[y*2+1][x*2+1].reset(U);
				node[y*2  ][x*2+2].set(L);
				node[y*2  ][x*2+2].reset(D);
				node[y*2+1][x*2+2].set(L);
				node[y*2+1][x*2+2].reset(U);
			}
		}

		if(y==4) break;

		cin>>str;
		for(int x=0; x<5; x++)
		{
			if(str[x]=='1')
			{
				node[y*2+1][x*2  ].set(D);
				node[y*2+1][x*2  ].reset(R);
				node[y*2+1][x*2+1].set(D);
				node[y*2+1][x*2+1].reset(L);
				node[y*2+2][x*2  ].set(U);
				node[y*2+2][x*2  ].reset(R);
				node[y*2+2][x*2+1].set(U);
				node[y*2+2][x*2+1].reset(R);
			}
		}
	}

	int y=0,x=0;
	const int  dx[]={ 0, 1, 0,-1};
	const int  dy[]={-1, 0, 1, 0};
	const char dc[]={'U','R','D','L'};

	bool end=false;
	while(!end)
	{
		end=true;
		for(int i=0; i<4; i++)
		{
			if(node[y][x][i])
			{
				int nx=x+dx[i];
				int ny=y+dy[i];

				if(x/2!=nx/2 || y/2!=ny/2)
				{
					cout << dc[i];
				}
				x=nx; y=ny;
				node[y][x].reset((i+2)%4);
				end=false; break;
			}
		}	
	}
	cout << endl;
}