{-# LANGUAGE OverloadedStrings #-}
import Data.Maybe
import Data.Char
import Data.List
import qualified Data.ByteString.Char8 as BS
import qualified Data.Vector.Unboxed as VU

main :: IO()
main = do
  [sx, sy, tx, ty] <- getIntList
  let (x, y) = (tx - sx, ty- sy)
  putStrLn . concat $ zipWith replicate [x, y+1, x+1, y+1, 1, 1, x+1, y+1, x+1, y] ['R', 'U', 'L', 'D', 'R', 'D', 'R', 'U', 'L', 'D']
    
-- IO
readInt :: BS.ByteString -> Int
readInt = fst . fromJust . BS.readInt

getInt :: IO Int
getInt = readInt <$> BS.getLine

getIntList :: IO [Int]
getIntList = unfoldr (BS.readInt . BS.dropWhile isSpace) <$> BS.getLine

getIntVec :: Int -> IO (VU.Vector Int)
getIntVec n = VU.unfoldrN n (BS.readInt . BS.dropWhile isSpace) <$> BS.getLine