Вам задано прямоугольное клетчатое поле, состоящее из *n* строк и *m* столбцов. Поле содержит цикл из символов «*», такой что:
 -  цикл можно обойти, посетив каждую его клетку ровно один раз, перемещаясь каждый раз вверх/вниз/вправо/влево на одну клетку; -  цикл не содержит самопересечений и самокасаний, то есть две клетки цикла соседствуют по стороне тогда и только тогда, когда они соседние при перемещении вдоль цикла (самокасание по углу тоже запрещено). 
Ниже изображены несколько примеров допустимых циклов:

Все клетки поля, отличные от цикла, содержат символ «.». Цикл на поле ровно один. Посещать клетки, отличные от цикла, Роботу нельзя.

В одной из клеток цикла находится Робот. Эта клетка помечена символом «S». Найдите последовательность команд для Робота, чтобы обойти цикл. Каждая из четырёх возможных команд кодируется буквой и обозначает перемещение Робота на одну клетку:
 -  «U» — сдвинуться на клетку вверх, -  «R» — сдвинуться на клетку вправо, -  «D» — сдвинуться на клетку вниз, -  «L» — сдвинуться на клетку влево. 
Робот должен обойти цикл, побывав в каждой его клетке ровно один раз (кроме стартовой точки — в ней он начинает и заканчивает свой путь).

Найдите искомую последовательность команд, допускается любое направление обхода цикла.
В первой строке входных данных записаны два целых числа *n* и *m* (3 ≤ *n*, *m* ≤ 100) — количество строк и столбцов прямоугольного клетчатого поля соответственно.

В следующих *n* строках записаны по *m* символов, каждый из которых — «.», «*» или «S». Гарантируется, что отличные от «.» символы образуют цикл без самопересечений и самокасаний. Также гарантируется, что на поле ровно одна клетка содержит «S» и что она принадлежит циклу. Робот не может посещать клетки, помеченные символом «.».
В первом тестовом примере для обхода по часовой стрелке последовательность посещенных роботом клеток выглядит следующим образом:
 1.  клетка (3, 2); 1.  клетка (3, 1); 1.  клетка (2, 1); 1.  клетка (1, 1); 1.  клетка (1, 2); 1.  клетка (1, 3); 1.  клетка (2, 3); 1.  клетка (3, 3); 1.  клетка (3, 2).
3 3
***
*.*
*S*
LUURRDDL
6 7
.***...
.*.*...
.*.S**.
.*...**
.*....*
.******
UULLDDDDDRRRRRUULULL
100 3
***
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
S.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
*.*
***
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUURRDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDLLUUUUUUUUUUUUUUUUUU
3 100
****************************************************************************************************
*..................................................................................................*
**********************************************************************************S*****************
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLUURRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRDDLLLLLLLLLLLLLLLLL
n,m=map(int,input().split())
a=[(list(input())) for i in range(n)]
for i in range(n):
	for j in range(m):
		if a[i][j]=='S':
			r1=i
			c1=j
			break
t=[[0,1],[0,-1],[-1,0],[1,0]]
p=[list([True]*m) for i in range(n)]
q=[[r1,c1]]
z=[]
st=''
while len(q)>0:
	frc=q.pop()
	r=frc[0]
	c=frc[1]
	f=True
	for i in range(4):
		dr=t[i][0]
		dc=t[i][1]
		if 0<=r+dr<n and 0<=c+dc<m and a[r+dr][c+dc]=='*' and p[r+dr][c+dc] and f:
			p[r+dr][c+dc]=False
			z.append([r+dr,c+dc])
			q.append([r+dr,c+dc])
			i=5
			f=False
r2=r1
c2=c1
for i in range(len(z)):
	r=z[i][0]
	c=z[i][1]
	if r-r1>0:
		st+='D'
	if r-r1<0:
		st+='U'
	if c-c1>0:
		st+='R'
	if c-c1<0:
		st+='L'
	c1=c
	r1=r
	
if r-r1>0:
	st+='D'
if r-r1<0:
	st+='U'
if c-c1>0:
	st+='R'
if c-c1<0:
	st+='L'
print(st)
