#include <stdio.h>

char w[9][6];

bool is_up(int x, int y){
	if(y <= 0){ return false; }
	return w[y*2-1][x] == '1';
}

bool is_down(int x, int y){
	if(y >= 4){ return false; }
	return w[y*2+1][x] == '1';
}

bool is_left(int x, int y){
	if(x <= 0){ return false; }
	return w[y*2][x-1] == '1';
}

bool is_right(int x, int y){
	if(x >= 4){ return false; }
	return w[y*2][x] == '1';
}

int main(void){
	char r[100];
	int st = 0;
	int px=0, py=0;
	for(int i=0;i<9;++i){
		scanf("%s", w+i);
	}

	r[st++] = 'R';
	px=1;

	while(px!=0 || py!=0){
		switch(r[st-1]){
		case 'U':
			if(is_left(px, py)){ r[st++] = 'L'; px--; }
			else if(is_up(px, py)){ r[st++] = 'U'; py--; }
			else if(is_right(px, py)){ r[st++] = 'R'; px++; }
			else{ r[st++] = 'D'; py++; }
			break;
		case 'R':
			if(is_up(px, py)){ r[st++] = 'U'; py--; }
			else if(is_right(px, py)){ r[st++] = 'R'; px++; }
			else if(is_down(px, py)){ r[st++] = 'D'; py++; }
			else{ r[st++] = 'L'; px--; }
			break;
		case 'D':
			if(is_right(px, py)){ r[st++] = 'R'; px++; }
			else if(is_down(px, py)){ r[st++] = 'D'; py++; }
			else if(is_left(px, py)){ r[st++] = 'L'; px--; }
			else{ r[st++] = 'U'; py--; }
			break;
		case 'L':
			if(is_down(px, py)){ r[st++] = 'D'; py++; }
			else if(is_left(px, py)){ r[st++] = 'L'; px--; }
			else if(is_up(px, py)){ r[st++] = 'U'; py--; }
			else{ r[st++] = 'R'; px++; }
			break;
		default:
			puts("error");
			break;
		}
		//printf("%d,%d\n",px,py);
	}
	r[st] = '\0';
	puts(r);
	//getchar();getchar();
	return 0;
}