B. Поросята и волки
ограничение по времени на тест
2 seconds
ограничение по памяти на тест
256 megabytes
ввод
stdin
вывод
stdout

Давным давно на клетчатом поле размера n × m жили поросята и волки. Каждая клетка поля либо была пуста, либо содержала одного поросенка, либо содержала одного волка.

Поросенок и волк считаются соседями, если клетки, на которых они расположены, имеют общую сторону. Поросята боятся волков, поэтому каждый поросенок имеет не более одного соседа-волка, но волк может иметь сколько угодно соседей-поросят.

Поросята и волки живут мирно уже несколько лет. Но сегодня волки проголодались. Каждый волк выбирает одного соседа-поросенка (если такие имеются) и съедает его. Этот процесс не повторяется, то есть в итоге каждый волк может съесть не более одного поросенка. Как только волк съедает поросенка, этот поросенок исчезает, и никакой другой волк не может его съесть повторно.

Какое наибольшее количество поросят могут съесть волки?

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

Первая строка содержит целые числа n и m (1 ≤ n, m ≤ 10) — количество строк и столбцов в клетчатом поле, соответственно. Далее следует n строк по m символов в каждой — описание поля. «.» обозначает пустую клетку. «P» обозначает клетку, содержащую поросенка. «W» обозначает клетку, содержащую волка.

Гарантируется, что каждый поросенок имеет не более одного соседа-волка.

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

Выведите одно целое число — максимальное число поросят, которое могут съесть волки.

Примеры
Входные данные
2 3
PPW
W.P
Выходные данные
2
Входные данные
3 3
P.W
.P.
W.P
Выходные данные
0
Примечание

В первом примере волки съедают двух поросят. Один из возможных способов это сделать: