#include <bits/stdc++.h>

using namespace std;

typedef struct {
    int x, y;
    bool root[4];
} Node;

Node v[5][5];
const string ord = "URDL";
const int dx[] = {-1, 0, 1, 0}, dy[] = {0, 1, 0, -1};

void init() {
    for (int i = 0; i < 5; i++) {
        for (int j = 0; j < 5; j++) {
            v[i][j].x = i;
            v[i][j].y = j;
            for (int k = 0; k < 4; k++)
                v[i][j].root[k] = false;
        }
    }
}

void solve(int x, int y, char c) {
    cout << c;
    if (x == 0 && y == 0) {
        cout << '\n';
        return;
    }

    int start = (ord.find(c) + 3) % 4;
    for (int i = 0; i < 4; i++) {
        int ni = (i + start) % 4;
        if (v[x][y].root[ni]) {
            solve(x + dx[ni], y + dy[ni], ord[ni]);
            return;
        }
    }
}

int main() {
    init();

    for (int i = 0; i < 9; i++) {
        string input;
        cin >> input;

        for (int j = 0; j < input.size(); j++) {
            if (input[j] != '1') continue;
            
            if (i % 2) {
                v[(i + 1) / 2 - 1][j].root[2] = true;
                v[(i + 1) / 2][j].root[0] = true;
            } else {
                v[i / 2][j].root[1] = true;
                v[i / 2][j + 1].root[3] = true;
            }
        }
    }

    solve(0, 1, 'R');

    return 0;
}
