beecrowd | 1121

Robot Coleccionador de Stickers

Maratona de Programação da SBC Brazil

Timelimit: 1

Uno de los deportes favoritos en RoboLand es el Rally de Robots. Este rally es realizado en una arena gigante rectangular de celdas cuadradas con N filas y M columnas. Algunas de las celdas están vacias, otras contienen un stricker para el álbum del mundial de fútbol (gracias a las inteligencias artificiales de RoboLand) y otras están ocupadas por pilares que sostienen el techo de la arena. Durante el rally los robots pueden ocupar cualquier celda en la arena, excepto aquellas que contengan pilares, ya que bloquean el movimiento de los robots. El camino del robot en la arena durante el rally está determinado por una secuencia de instrucciones. Cada instruccion está representada por uno de los siguientes caracteres: 'D', 'E' y 'F', que significan "Girar 90 grados a la derecha", "Girar 90 grados a la izquierda","Avanzar una celda", respectivamente.

Los robots comienzan el rally en alguna posición inicial en la arena y siguen cuidadosamente la secuencia de instrucciones dadas (a pesar de todo, siguen siendo robots!). En cualquier momento que un robot ocupa una celda que contiene un sticker de la Copa Mundial, él lo junta. Los stickers no son reemplazados, es decir, cada sticker puede ser juntado una única vez. Cuando un robot intenta avanzar a otra celda que contiene un pilar, se queda trabado en la celda en la que se encontraba, con la misma orientación. Lo mismo ocurre cuando un robot intenta salir de la arena.

Dado el mapa de la arena, describiendo las posiciones de los pilares y los stickers, y la secuencia de instrucciones de un robot, deberás escribir un programa que determine el número de stickers recolectados por el robot.

Entrada

La entrada contiene varios casos de prueba. La primera línea de un caso contiene tres enteros N, M y S (1 ≤ N, M ≤ 100, 1 ≤ S ≤ 5 × 104 ), separados por espacios vacíos, que indican el número de filas, el número de columnas de la arena y el número de instrucciones para el robot, respectivamente. Cada una de las siguientes N líneas describe línea de celdas de la arena y contiene un string con M caracteres. La primera línea en aparecer en la descripción de la arena es la que está más al norte, la primer columna en aparecer en la descripción de una línea de celdas de la arena es la que está más al oeste.

Cada celda en la arena está descripta por alguno de los siguientes caracteres:

La última línea de la entrada contiene una secuencia de S caracteres entre 'D', 'E' y 'F', representando las instrucciones para el robot.

El último caso de prueba estará seguido de una línea que contiene solo tres ceros (0), separados por un espacio en blanco.

Salida

Para cada rally descripto, su programa deberá imprimir una única línea con un único entero que indique el número de stickers que el robot juntó durante el rally.

Ejemplo de entrada Ejemplo de salida

3 3 2
***
*N*
***
DE
4 4 5
...#
*#O.
*.*.
*.#.
FFEFF
10 10 20
....*.....
.......*..
.....*....
..*.#.....
...#N.*..*
...*......
..........
..........
..........
..........
FDFFFFFFEEFFFFFFEFDF
0 0 0

0
1
3