Вам задано прямоугольное клетчатое поле, состоящее из *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())
matrix = []

for i in range(n):
    matrix.append(list(input()))

first = []
for i in range(n):
    for j in range(m):
        if matrix[i][j] == "S":
            first.append(i)
            first.append(j)

now = first.copy()

answer = []

if first[0] > 0 and matrix[first[0]-1][first[1]] =="*":
    matrix[first[0]-1][first[1]] = "S"
    now = [first[0]-1,first[1]]
    answer.append("U")
elif first[1] < m-1 and matrix[first[0]][first[1]+1] =="*":
    matrix[first[0]][first[1]+1] = "S"
    now = [first[0],first[1]+1]
    answer.append("R")
elif first[0] < n-1 and matrix[first[0]+1][first[1]] == "*":
    matrix[first[0]+1][first[1]] = "S"
    now = [first[0]+1,first[1]]
    answer.append("D")
elif first[1] > 0 and matrix[first[0]][first[1]-1] =="*":
    matrix[first[0]][first[1]-1] = "S"
    now = [first[0],first[1]-1]
    answer.append("L")

#        answer.append("U")
#while now != first:
while True:
    if now[0] > 0 and matrix[now[0]-1][now[1]] =="*":
        matrix[now[0]-1][now[1]] = "S"
        now = [now[0]-1,now[1]]
        answer.append("U")
    elif now[1] < m-1 and matrix[now[0]][now[1]+1] =="*":
        matrix[now[0]][now[1]+1] = "S"
        now = [now[0],now[1]+1]
        answer.append("R")
    elif now[0] < n-1 and matrix[now[0]+1][now[1]] == "*":
        matrix[now[0]+1][now[1]] = "S"
        now = [now[0]+1,now[1]]
        answer.append("D")
    elif now[1] > 0 and matrix[now[0]][now[1]-1] =="*":
        matrix[now[0]][now[1]-1] = "S"
        now = [now[0],now[1]-1]
        answer.append("L")
    else:
        break

last = ""
if now[0]<first[0]:
    last="U"
elif now[0]>first[0]:
    last="D"
elif now[1]>first[1]:
    last="L"
else:
    last="R"

print("".join(answer)+last)