시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 512 MB296623.077%

문제

Университеты Татарстана являются ведущими центрами по образовательной робототехнике. Для популяризации этого направления школьникам было предложено провести эксперимент по выживанию роботов в ограниченном пространстве.

Эксперимент проходит на прямоугольном поле размером $n \times m$ клеток. В начале эксперимента в заданных клетках размещается по одному неактивированному роботу. По команде <<Старт>> запускается таймер, который подаёт сигнал в начале каждой секунды. После каждого сигнала таймера, но не позднее чем через $T_{max} = 10^9$ секунд после команды <<Старт>>, разрешается активировать некоторых роботов. 

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

Во избежание повреждений запрещается активировать роботов таким образом, что это приведёт к их столкновению. Столкновением называется ситуация, когда два или более активированных роботов оказываются в одной клетке поля. Если происходит столкновение, то эксперимент считается неуспешным. При этом перемещение роботов из соседних клеток навстречу друг другу, в результате которого они меняются местами, к столкновению не приводит.

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

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

입력

В первой строке входных данных записаны целые числа $n$, $m$ и $g$, где $n$ и $m$ --- размеры поля с севера на юг и с запада на восток соответственно ($1 \le n, m \le 1000$), а $g$ --- признак, равный $1$ или $0$, обозначающий необходимость определения клеток и моментов времени для активации роботов.

Последующие $n$ строк по $m$ символов в каждой описывают цвета клеток поля и разрешение на активацию робота в них. Цвет поля задаётся английской буквой, соответствующей направлению движения: <<N>> или <<n>> --- север, <<S>> или <<s>> --- юг, <<E>> или <<e>> --- восток и <<W>> или <<w>> --- запад. 

Клетки, в которых исходно размещены неактивированные роботы, обозначены заглавными буквами, а клетки, в которых исходно робота нет --- строчными. 

출력

В первой строке выходных данных выведите одно число $k$ --- максимально возможный результат эксперимента. Для входных данных, в которых значение $g$ равно 1, в каждой из последующих $k$ строк выведите три целых числа $r$, $c$ и $t$: номера строки и столбца, описывающие клетку для активации робота, и момент времени для его активации соответственно ($1 \leq r \leq n$; $1 \leq c \leq m$; $1 \leq t \leq 10^9$). Строки нумеруются от 1 до $n$ сверху вниз (с севера на юг), а столбцы --- от 1 до $m$ слева направо (с запада на восток).

Если стратегий активации роботов, приводящих к максимальному результату несколько, то выведите любую из них.

서브태스크

번호배점제한
111

$1 \leq n, m \le 10$, $g = 0$, в каждой клетке исходно находится робот

213

$1 \leq n, m \le 100$, $g = 0$, в каждой клетке исходно находится робот

313

$1 \leq n, m \le 100$, $g = 0$

423

$1 \leq n, m \le 100$, $g = 1$

517

$1 \leq n, m \le 1000$, $g = 0$

623

$1 \leq n, m \le 1000$, $g = 1$

예제 입력 1

3 4 0
SSSS
EESW
ENWW

예제 출력 1

4

예제 입력 2

3 4 1
SSSS
EeSW
ENwW

예제 출력 2

4
2 3 2
3 2 1
3 4 1
2 1 2

예제 입력 3

4 4 1
essS
Eess
Snww
EeWN

예제 출력 3

5
1 4 9
2 1 4
4 3 3
4 1 2
4 4 7

힌트

В первом примере можно активировать любых четырёх роботов, выбрав для этого подходящие моменты времени. Например, роботы, находящиеся в клетках (1, 1) и (3, 1) не могут быть активированы одновременно. Указывать, какие именно роботы должны быть активированы и в какие моменты в времени, в данном тесте не требуется.

Во втором примере приведённый ответ не является единственным.

В третьем примере активированные в клетках (4, 1) и (4, 3) роботы могут перемещаться между клетками (4, 2) и (4, 3) сколько угодно раз, не сталкиваясь при этом.  

채점 및 기타 정보

  • 예제는 채점하지 않는다.