Собеседования

Ограничение по времени: 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
Войдите, что бы отправлять решения