Мальчик вася хочет стать успешным программистом, но при этом много времени посвящает компьютерным играм. поэтому он не может вовремя делать и часто засыпает на уроках. однажды родители в наказание за плохие отметки в школе лишили васю компьютера и смартфона. тогда он решил скоротать время, собирая мозаику. мозаика представляет собой прямоугольное поле, разбитое на квадратики единичного размера. поле имеет ширину 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##