Module: Algoritmos Gananciosos


Problem

5 /9


Melone testa o robô

Problem

Melone quer testar seu novo desenvolvimento - um robô que pode se mover pelos labirintos.
O robô está em um labirinto retangular de tamanho n × m. Cada uma das células do labirinto está vazia ou ocupada por um obstáculo. 
O robô pode se mover entre as células adjacentes para a esquerda (símbolo "L"), direita (símbolo "R", para cima (símbolo "U") ou para baixo (símbolo "D"). O robô só pode se mover para uma célula se ela estiver vazia. Inicialmente, o robô está em uma gaiola vazia.

Melone quer que o robô percorra o ciclo lexicograficamente mínimo de comprimento exatamente k, que começa e termina na célula onde o robô está inicialmente localizado. O robô pode visitar qualquer célula quantas vezes quiser (incluindo a inicial).

O caminho do robô é dado por uma string composta pelos caracteres "L", "R", "U" e "D". Por exemplo, se o robô primeiro desce, depois para a esquerda, depois para a direita e para cima, seu caminho é escrito como "DLRU".

Ajude Melona a determinar qual caminho do robô corresponde ao ciclo lexicograficamente mínimo de comprimento exatamente k, ou diga-me que tal coisa não existe.

Entrada:
A primeira linha é seguida por três inteiros n, m e k (1 ≤ n, m ≤ 1000, 1 ≤ k ≤ 106< / sup>) — dimensões do labirinto e comprimento do ciclo.
Cada uma das próximas n linhas contém m caracteres — descrição do labirinto. Se o símbolo for ".", então a célula atual está vazia. Se o símbolo for "*", então a célula atual está ocupada por um obstáculo. Se o símbolo for igual a "X", inicialmente o robô está nesta célula e está vazio. É garantido que o caractere "X" ocorre exatamente uma vez no labirinto.

Saída:
Imprima o caminho lexicograficamente mínimo do Robô de comprimento exatamente k, que começa e termina na célula onde o Robô está inicialmente localizado. Se tal caminho não existir, imprima "IMPOSSÍVEL" (sem aspas).

Exemplos:
 
Entrada Saída
2 3 2
.**
X..
RL
5 6 14
..***.
*...X.
..*...
..*.**
....*.
DLDDLLLRRRUURU
3 3 4
***
*X*
***
IMPOSSÍVEL