import sys
import time
from heapq import heapify, heappush, heappop
from itertools import combinations_with_replacement
H, W, K, T = 30, 30, 450, 10000
def solve():
start = time.time()
# Input
input()
s, g = [], []
for i in range(K):
a, b, c, d = map(int, input().split())
s.append([a - 1, b - 1])
g.append((c - 1, d - 1))
# Process
L, res = tekito(s, g, start)
# Output
print(L)
print(*res, sep='\n')
def tekito(s, g, start):
res = []
ban = [[0]*W for i in range(H)]
ban_next = [[0]*W for i in range(H)]
for i in range(K):
a, b = s[i]
ban[a][b] = 1
for lp in range(T):
cmd = ''
for i in range(K):
a, b = s[i]
c, d = g[i]
if a > c:
if ban[a - 1][b] == 0 and ban_next[a - 1][b] == 0:
cmd += 'U'
ban_next[a - 1][b] = 1
s[i][0] -= 1
continue
if a < c:
if ban[a + 1][b] == 0 and ban_next[a + 1][b] == 0:
cmd += 'D'
ban_next[a + 1][b] = 1
s[i][0] += 1
continue
if b > d:
if ban[a][b - 1] == 0 and ban_next[a][b - 1] == 0:
cmd += 'L'
ban_next[a][b - 1] = 1
s[i][1] -= 1
continue
if b < d:
if ban[a][b + 1] == 0 and ban_next[a][b + 1] == 0:
cmd += 'R'
ban_next[a][b + 1] = 1
s[i][1] += 1
continue
cmd += '-'
ban_next[a][b] = 1
if cmd == '-'*K:
break
else:
res.append(cmd)
for i in range(H):
ban[i] = ban_next[i][:]
for i in range(H):
ban_next[i] = [0] * W
return len(res), res
def debug(x, table):
for name, val in table.items():
if x is val:
print('DEBUG:{} -> {}'.format(name, val), file=sys.stderr)
return None
if __name__ == '__main__':
solve()