import java.util.*

fun main(args: Array<String>) {
    val sc = Scanner(System.`in`)
    val sx = sc.nextInt()
    val sy = sc.nextInt()
    val tx = sc.nextInt()
    val ty = sc.nextInt()
    val start = Pair(1, 1)
    val target = Pair(tx - sx + start.first, ty - sy + start.second)

    val visited = Array(tx - sx + 3) { Array(ty - sy + 3) { false } }
    var now = start
    val dic = mutableMapOf<Char, Pair<Int, Int>>()
    var ans = ""

    dic['U'] = Pair(0, 1)
    dic['D'] = Pair(0, -1)
    dic['L'] = Pair(-1, 0)
    dic['R'] = Pair(1, 0)

    for (turn in 1..4) {
        var goal: Pair<Int, Int>
        if (turn % 2 == 1) {
            goal = target
        } else {
            goal = start
        }
        while (now != goal) {
            val cnddt = mutableListOf<Long>()
            for (k in "UDLR") {
                val nxt = Pair(now.first + dic[k]!!.first, now.second + dic[k]!!.second)
                if (nxt.first < 0 || target.first + 1 < nxt.first) {
                } else if (nxt.second < 0 || target.second + 1 < nxt.second) {
                } else if (nxt == goal || !visited[nxt.first][nxt.second]) {
                    cnddt.add((diff(nxt, goal) - diff(now, goal)) * 1000L + k.toByte())
                }
            }
            cnddt.sort()
            val k = ((cnddt[0] + 1000) % 1000).toChar()
            ans += k
            val nxt = Pair(now.first + dic[k]!!.first, now.second + dic[k]!!.second)
            visited[nxt.first][nxt.second] = true
            now = nxt
        }
    }
    println(ans)
}

fun diff(a: Pair<Int, Int>, b: Pair<Int, Int>): Int {
    return Math.abs(a.first - b.first) + Math.abs(a.second - b.second)
}
