Submit solution


Очки: 150
Ограничение по времени: 2.0s
Ограничение по памяти: 256M

Автор:
Problem types
Allowed languages
C++, Python

В офисе задан прямоугольный план помещения размером n строк на m столбцов. Каждая клетка плана — либо свободная ('.'), либо занятая перегородкой ('#'). Положение робота-уборщика в начале работы отмечено символом '@'; эта клетка также считается свободной.

Робот выполняет последовательность из k команд. Каждая команда — один из символов:

  • 'U' — попытаться перейти на одну клетку вверх,
  • 'D' — попытаться перейти на одну клетку вниз,
  • 'L' — попытаться перейти на одну клетку влево,
  • 'R' — попытаться перейти на одну клетку вправо.

Если соседняя клетка находится в пределах плана офиса и не является перегородкой, робот перемещается в неё. Иначе он остаётся в текущей клетке.

Требуется определить, сколько различных клеток офиса робот успел посетить за всё время работы, включая стартовую клетку.

Входные данные

Первая строка содержит три целых числа n, m и k (1 <= n, m <= 1000, 1 <= k <= 10^5).

Следующие n строк содержат описание плана офиса — по m символов в каждой строке. Гарантируется, что символ '@' встречается ровно один раз.

Последняя строка содержит строку длины k, состоящую только из символов U, D, L, R — последовательность команд робота.

Выходные данные

Выведите одно целое число — количество различных клеток, которые посетил робот-уборщик.

Ограничения

  • 1 <= n, m <= 1000
  • 1 <= k <= 10^5
  • план содержит ровно одну стартовую клетку '@'
  • ввод осуществляется через стандартный ввод
  • вывод осуществляется через стандартный вывод

Примеры

Пример 1

Входные данные

1 1 1
@
U

Выходные данные

1
Пример 2

Входные данные

3 3 8
...
.@.
...
RRDDLLUU

Выходные данные

7

Комментарии

Еще нет ни одного комментария.