Вам задано прямоугольное клетчатое поле, состоящее из *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
import sys
sys.setrecursionlimit(1000000)


def dfs(y, x, k, dr=None):
    if k[y][x] == 'S' and dr != None:
        return 1, ' '
    for a, b, d, d2 in ((0, 1, 'D', 'U'), (1, 0, 'R', 'L'), (0, -1, 'U', 'D'), (-1, 0, 'L', 'R')):
        if k[y + b][x + a] in '*S' and dr != d2:
            bl, w = dfs(y + b, x + a, k, d)
            if bl:
                return 1, d + w


h, w = map(int, input().split())
k = ['.' * (w + 2)]
for i in range(1, h + 1):
    k.append('.' + input() + '.')
    u = k[-1].find('S')
    if u != -1:
        pos = [i, u]
k.append('.' * (w + 2))
print(dfs(pos[0], pos[1], k)[1])