4. мозаика
ограничение времени 1 секунда
ограничение памяти 64mb
ввод стандартный ввод или input.txt
вывод стандартный вывод или output.txt
мальчик вася хочет стать успешным программистом, но при этом много времени посвящает компьютерным играм. поэтому он не может вовремя делать и часто засыпает на уроках. однажды родители в наказание за плохие отметки в школе лишили васю компьютера и смартфона. тогда он решил скоротать время, собирая мозаику. мозаика представляет собой прямоугольное поле, разбитое на квадратики единичного размера. поле имеет ширину n и длину m. мозаика частично уже сложена, поэтому васе нужно разложить оставшиеся кусочки. ему сделать это. каждый кусочек представляет собой квадрат 3x3, в котором некоторые клетки пустые. его можно поворачивать, но нельзя переворачивать.
формат ввода
в первой строке заданы три целых числа n, m и k (3 ≤ n, m ≤ 8, 1 ≤ k ≤ 10). в последующих n строках идет описание поля. каждая строка имеет длину m и состоит из символов '#' и '.', которые обозначают занятую и пустую клетки соответственно.
далее идет k блоков по три строки описание кусочков. каждый кусочек описывается тремя трехсимвольными строками, содержащими символы '#' и '.', которые обозначают занятую и пустую клетки соответственно.
формат вывода
выведите сложенную мозаику так, чтобы в пустых клетках стояли цифры, соответствующие номеру кусочка, который будет располагаться в этой клетке. кусочки нумеруются с нуля в том порядке, в котором они заданы.
пример 1
ввод вывод
5 5 3
###..
##.##
#
##
##
###
###
###
.#.
.##
..#
###22
##1##
#0002
#000#
#000#
пример 2
ввод вывод
3 3 1
#.#
.##
..#
###
.#.
#0#
000
0##