Ограничение по времени: 2.000 секунд
Ограничение по памяти: 100.000 мегабайт
Саша занимается реформированием собеседований в Контуре. Для проверки способностей кандидатов он выбрал головоломку - японский кроссворд. Напомним, что японский кроссворд это головоломка, целью которой является получить черно-белую клетчатую картинку размера n x m. Загаданный японский кроссворд содержит пустое поле n x m, некоторые клетки которого нужно покрасить в черный цвет. Слева от каждой строки поля написана последовательность чисел. Эти числа соответствуют длинам отрезков черных клеток в этой строке, перечисленным слева направо. Аналогично, над каждым столбцом написана последовательность чисел, соответствующих длинам черных отрезков в этом столбце, перечисленным сверху вниз.
Саша выбрал картинку, которая должна получиться в результате решения кроссворда.
Помогите кандидату найти последовательности чисел, которые должны быть написаны слева от строк и сверху от столбцов.
В первой строке даны два целых числа n и m - размеры картинки (1 ≤ n,m ≤ 100).
В следующих n строках дано по m символов - описание картинки. Белый цвет обозначается символом .
, а черный - #
.
Сначала выведите n строк, описывающих строки японского кроссворда сверху вниз. Каждая из них должна начинаться с количества чисел в этой строке, а затем должны быть перечислены сами эти числа.
Далее выведите m строк, описывающих столбцы японского кроссворда слева направо. Каждая из них должна начинаться с количества чисел в этом столбце, а затем должны быть перечислены сами эти числа.
Для удобства, вы можете выводить дополнительные переводы строк.
input | output |
---|---|
11 8 ........ .####... .######. .##..##. .##..##. .######. .####... .##..... .##..... .##..... ........ |
0 1 4 1 6 2 2 2 2 2 2 1 6 1 4 1 2 1 2 1 2 0 0 1 9 1 9 2 2 2 2 2 2 1 4 1 4 0 |