Шоколад
У Марички и Зеника имеется прямоугольная плитка вкусного украинского шоколада. Плитка состоит из одинаковых квадратиков, каждый из которых может быть либо черным, либо белым.
Маричка проведет произвольное (возможно нулевое) количество полных горизонтальных (слева направо) разрезов плитки, тогда как Зеник - произвольное (возможно нулевое) количество полных вертикальных (сверху вниз) разрезов. Заметьте, что разрезы можно проводить только между квадратиками плитки, а также Зеник и Маричка могут сделать разное количество разрезов. После проведения всех разрезов плитка распадется на определенное количество прямоугольных кусков, которые наши герои определенным образом разделят между собой.
Поскольку Зеник очень любит черный шоколад, он хочет чтобы после всех разрезов количество целых кусков, которые состоят исключительно из черных квадратиков, было как можно больше. Маричка хочет это же количество сделать как можно меньше. Заметьте, что героев не интересует, какого именно размера будут кусочки: главное - их количество.
Чтобы все было честно, Андрей отдельно и независимо спросит Маричку и Зеника, в каких именно местах нужно провести разрезы, а потом сам вместо них проведет эти разрезы.
Напишите программу, которая по заданным размерам плитки, а также типу каждого ее единичного квадратика определит, сколько после всех разрезаний образуется кусочков, состоящих исключительно из черных квадратиков, - при условии оптимальных действий обоих героев.
Входные данные
Первая строка содержит два целых числа n и m (2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000): высоту и ширину плитки соответственно. Далее идут n строк по m символов в каждом, которые обозначают тип соответствующего единичного квадратика шоколадки. Символ B означает черный квадратик, а символ W белый.
Выходные данные
Выведите количество кусков, которые будут состоять исключительно из квадратиков черного шоколада.