B. Испытания роботов
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В организации Cybernetics Failures (CF) создали прототип робота-сапёра. Для обнаружения возможных проблем в его функционировании было принято решение провести серию испытаний. В начале каждого испытания прототип робота будет помещён в клетку (x0, y0) прямоугольного клетчатого поля размера x × y, после чего в одну из клеток поля будет установлена мина. Предполагается провести ровно x·y испытаний, каждый раз устанавливая мину в ранее не использованную клетку. Стартовая же клетка робота никогда не меняется.

После размещения объектов на поле робот должен будет выполнить последовательность команд, заданную строкой s, состоящей только из символов 'L', 'R', 'U', 'D'. Эти команды предписывают роботу переместиться влево, вправо, вверх или вниз на одну клетку или остаться на месте, если перемещение в данном направлении невозможно. Как только робот выполнит всю последовательность команд, он взорвется из-за бага в коде. Если же в какой-то момент времени робот находится в одной клетке с миной, он также взорвётся, но уже не из-за бага в коде.

Движение влево уменьшает координату y, а движение вправо её увеличивает. Аналогично, движение вверх уменьшает координату x, а движение вниз её увеличивает.

Испытания могут затянуться очень надолго, поэтому вам предстоит предсказать их результаты. Для каждого k от 0 до length(s) вам требуется найти, в скольких испытаниях робот выполнит ровно k команд, прежде чем взорвётся.

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

В первой строке записаны четыре целых числа x, y, x0, y0 (1 ≤ x, y ≤ 500, 1 ≤ x0 ≤ x, 1 ≤ y0 ≤ y) — размеры поля и стартовые координаты робота. Координатная ось X направлена вниз, а ось Y — вправо.

Во второй строке записана последовательность команд s, которую надо исполнять роботу. Она имеет длину от 1 до 100 000 символов и состоит только из символов 'L', 'R', 'U', 'D'.

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

Выведите последовательность, состоящую из (length(s) + 1) чисел. На k-й позиции, если считать с нуля, выведите количество испытаний, в которых робот выполнит ровно k команд, прежде чем взорвётся.

Примеры
Входные данные
3 4 2 2
UURDRDRL
Выходные данные
1 1 0 1 1 1 1 0 6
Входные данные
2 2 2 2
ULD
Выходные данные
1 1 1 1
Примечание

В первом примере, если исключить возможное воздействие мин, маршрут робота будет выглядеть так: .