#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <ctime>
#include <iostream>
#include <algorithm>
#include <sstream>
#include <string>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <utility>
#include <cctype>
#include <numeric>
#include <cassert>
using namespace std;

#define rep(i,n) for(int (i)=0; (i)<(int)(n); ++(i))
#define foreach(c,i) for(__typeof((c).begin()) i=(c).begin();i!=(c).end();i++)

char m[10][10];

bool end(int x, int y) {
  return (x == 1 && y == 1) || (x == 0 && y == 1) ;
}

void check(int x, int y, int d) {
  printf("x,y = %d,%d : %d\n", x, y, d);
  assert(false);
}

int main() {
  memset(m, 0, sizeof m);
  string ans = "R";
  rep(i,9) scanf(" %s", m[i]);
  rep(i,9) {
    rep(j,5) {
      m[i][j] = (m[i][j] == '1') ? 1 : 0 ;
    }
  }
  // rep(i,9) {
  //   rep(j,5) printf("%2d", m[i][j]); puts("");
  // }

  int x = 1, y = 0, d = 1;
  do {
    // printf("(%d,%d) : %d : %s\n", x, y, d, ans.c_str());
    switch (d) {
      case 0: {
        // up
        if (m[2*(y-2)+1][x]) {
          // ok
          ans += 'U';
          --y;
        } else if (m[2*(y-1)][x]) {
          // ok
          ans += 'R';
          d = 1;
          ++x; --y;
        } else if (m[2*(y-1)][x-1]) {
          ans += 'L';
          d = 3;
        } else {check(x,y,d);}
        break;
      }
      case 1: {
        // right
        if (m[2*y][x]) {
          // ok
          ans += 'R';
          ++x;
        } else if (m[2*(y-1)+1][x]) {
          ans += 'U';
          d = 0;  
        } else if (m[2*y+1][x]) {
          // ok
          ans += 'D';
          d = 2;
          ++x; ++y;
        } else {check(x,y,d);}
        break;        
      }
      case 2: {
        // down
        if (m[2*y+1][x-1]) {
          // ok
          ans += 'D';
          ++y;
        } else if (m[2*y][x-1]) {
          ans += 'R';
          d = 1;
        } else if (m[2*y][x-2]) {
          // ok
          ans += 'L';
          d = 3;
          --x; ++y;
        } else {check(x,y,d);}
        break;
      }
      case 3: {
        // left
        if (m[2*(y-1)][x-2]) {
          // ok
          ans += 'L';
          --x;
        } else if (m[2*(y-2)+1][x-1]) {
          // ok
          ans += 'U';
          d = 0;
          --x; --y;
        } else if (m[2*(y-1)+1][x-1]) {
          ans += 'D';
          d = 2;
        } else {check(x,y,d);}
        break;        
      }
    }
  } while (!end(x,y) && ans.size() < 40);
  if (x == 1 && y == 1 && d == 0) ans += 'L';
  printf("%s\n", ans.c_str());
  return 0;
}