#include <bits/stdc++.h>
using namespace std;
#define all(c) (c).begin(),(c).end()
#define rep(i,n) for(int i=0; i<(int)(n); i++)
#define iter(c) __typeof((c).begin())
#define tr(it,c) for(iter(c) it=(c).begin(); it!=(c).end(); it++)
#define pb(a) push_back(a)
#define mp(a,b) make_pair(a,b)
#define pr(a) cout << (a) << endl
typedef long long ll;
typedef pair<int,int> P;
const int MAX=1000000000;
int dx[4]={-1,0,1,0},dy[4]={0,1,0,-1};

int main() {
  vector<string> s;
  string t;
  while(cin >> t) s.pb(t);
  int d[s.size()+2][s[1].size()*2+1];
  memset(d,0,sizeof(d));
  rep(i,s.size()) {
    rep(j,s[i].size()) {
      if(i%2) {
	d[i+1][j*2+1]=(s[i][j]=='1');
      } else {
	d[i+1][j*2+2]=(s[i][j]=='1');
      }
    }
  }
  string ans="";
  int x=1,y=1,z=0;
  char c[4]={'U','R','D','L'};
  for(int i=0; i<4; i++) {
    int k=(z+3)%4;
    int nx=x+dx[(i+k)%4],ny=y+dy[(i+k)%4];
    if(d[nx][ny]==1) {
      x+=dx[(i+k)%4]*2;
      y+=dy[(i+k)%4]*2;
      ans+=c[(i+k)%4];
      z=(i+k)%4;
      break;
    }
  }
  while(x!=1 || y!=1) {
    for(int i=0; i<4; i++) {
      int k=(z+3)%4;
      int nx=x+dx[(i+k)%4],ny=y+dy[(i+k)%4];
      if(d[nx][ny]==1) {
	x+=dx[(i+k)%4]*2;
	y+=dy[(i+k)%4]*2;
	ans+=c[(i+k)%4];
	z=(i+k)%4;
	break;
      }
    }
  }
  pr(ans);
  return 0;
}
