A. Домино
ограничение по времени на тест
0.5 second
ограничение по памяти на тест
256 megabytes
ввод
stdin
вывод
stdout

Мальчику Гене на день рождения подарили домино. Домино состоит из 28 различных костей 2 × 1 — на обеих клетках написано по цифре от 0 до 6.

0-0 0-1 0-2 0-3 0-4 0-5 0-6
1-1 1-2 1-3 1-4 1-5 1-6
2-2 2-3 2-4 2-5 2-6
3-3 3-4 3-5 3-6
4-4 4-5 4-6
5-5 5-6
6-6

Фигура, состоящая из всех 28 доминошек, называется волшебной, если ее можно целиком покрыть 14 непересекающимися квадратами 2 × 2 так, чтобы каждый квадрат содержал четыре одинаковые цифры. Каждый раз, когда Гена собирает волшебную фигуру, проявляются волшебные свойства набора — именинник выигрывает следующий контест. Геннадий заметил, что собирать уже когда-то собранную фигуру нельзя, иначе контест выигрывает кто-нибудь другой.

Гена выбрал клетчатое поле размером n × m и расположил на нем прямоугольные фишки размером 1 × 2 и 2 × 1. Каждая фишка занимает целиком ровно две соседние клетки поля. Эти фишки не перекрываются, но могут касаться. Всего фишек на поле ровно 28 — по числу доминошек в наборе. Теперь Гена хочет заменить каждую фишку на доминошку так, чтобы в результате получилась волшебная фигура. Различные фишки должны быть заменены на различные доминошки. Определите, в скольки контестах Геннадий может одержать победу при заданном расположении фишек? Также требуется найти один из возможных способов заменить фишки на доминошки, чтобы выиграть следующий раунд Codeforces.

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

В первой строке заданы два целых положительных числа n и m (1 ≤ n, m ≤ 30). В каждой из следующих n строк содержится по m символов — расположение фишек на поле. Точки обозначают пустые места, латинские буквы от «a» до «z» и «A», «B» — расположение фишек. Всего на поле ровно 28 фишек. Клетки, покрытые одной и той же фишкой, обозначены одной и той же буквой, разные фишки обозначены разными буквами. Гарантируется, что описание поля корректно.

Также гарантируется, что хотя бы одно решение существует.

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

В первой строке выведите количество способов заменить фишки на доминошки, чтобы получилась волшебная фигура — общее число контестов, которые можно выиграть, используя это расположение фишек. Следующие n строк по m символов должны содержать поле из точек и цифр от 0 до 6 — любое из возможных решений. Все доминошки должны быть различны.

Примеры
Входные данные
8 8
.aabbcc.
.defghi.
kdefghij
klmnopqj
.lmnopq.
.rstuvw.
xrstuvwy
xzzAABBy
Выходные данные
10080
.001122.
.001122.
33440055
33440055
.225566.
.225566.
66113344
66113344