module app;

import core.bitop;

import std.algorithm;
import std.array;
import std.bigint;
import std.conv;
import std.stdio;
import std.string;

void main()
{
    Input input = void;
    parseInput(input, stdin);
    auto result = main2(&input);
    writeln(result);
}

auto main2(Input* input)
{
	foreach (i, c; input.s)
	{
		if (i & 1)
		{
			if (c == 'L' || c == 'U' || c == 'D')
			{

			}
			else
				return "No";
		}
		else
		{
			if (c == 'R' || c == 'U' || c == 'D')
			{

			}
			else
				return "No";
		}
	}
    return "Yes";
}

unittest // example1
{
    string example =
`RUDLUDR`;
    Input input = void;
    parseExample(input, example);
    auto result = main2(&input);
    assert(result == "Yes");
}

unittest // example2
{
    string example =
`UUUUUUUUUUUUUUU`;
    Input input = void;
    parseExample(input, example);
    auto result = main2(&input);
    assert(result == "Yes");
}

unittest // example3
{
    string example =
`DULL`;
    Input input = void;
    parseExample(input, example);
    auto result = main2(&input);
    assert(result == "No");
}

struct Input
{
	string s;
}

void parseInput(T)(out Input input, T file)
{
    with (file) with (input)
    {
	    s = readln().strip();
    }
}

void parseExample(out Input input, string example)
{
    struct Adapter
    {
        import std.string;
        string[] _lines;
        this(string input) { _lines = input.splitLines(); }

        string readln()
        {
            auto line = _lines[0];
            _lines = _lines[1..$];
            return line;
        }
    }
    Adapter a = Adapter(example);
    parseInput(input, a);
}
