J. Машины в коробке
Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод 
Послать решение Blockly Посылки Темы Где Обсудить (0)

Макс хранит свои радиоуправляемые машины в большой коробке размером 3x3,
в которой может поместиться вплотную 3 ряда по 3 машины. Начальное расположение машин в коробке неизвестно.
С помощью пульта управления Макс может двигать машины в коробке в 4-х направлениях в соседнюю позицию.
Если на пути движения машины находится стенка или другая машина, машина не выполняет команду и сообщает
звуковым сигналом об ошибке.
Напишите программу, которая определяет расположение машин в коробке после выполнения серии команд.
В первой строке ввода содержатся два целых число – количество машин в коробке N (1 )
и количество команд K (1\ ≤\ K\ ≤\ 100). Далее следует K строк, каждая строка содержит одну команду в формате "idf",
где i (1\ ≤\ i\ ≤\ N) – номер машины, d – направление движения машины с номером i, задается символами 'N' (север), 'S' (юг), 'E' (восток), 'W' (запад), f – результат выполнения команды, символ
'+' (машина выполнила команду) или '-' (машина наткнулась на препятствие).
Вывести 3 строки, содержащих по 3 символа – предполагаемое конечное расположение машин в коробке. Клетка с машиной содержит номер машины, а пустая – символ '.'. Если входным данных соответствует несколько возможных расположений, вывести одно из них (любое).
Пример ввода
3 4
1N+
2S+
3N-
1N+
Пример вывода
1.3
.2.
...
Примечание: Предполагаемое начальное расположение показано на рисунке.