Пират Джон Сильвер нашел карту, на которой изображен ровно один остров. Карта представляет собой кусок материи, разбитый на клетки: n клеток по вертикали и m клеток по горизонтали. Джон Сильвер знает, что каждая клетка карты обозначает либо сушу, либо воду, однако некоторые из клеток стерлись, и теперь совершенно невозможно разобрать, что же на этих клетках было нарисовано.
Помогите Джону Сильверу восстановить карту острова. Островом называется непустое связное в четырех направлениях (вверх, вниз, влево и вправо) множество клеток суши.
В первой строке записаны два целых числа n и m (1 ≤ n, m ≤ 50) — размеры карты.
Каждая из следующих n строк содержит m символов и описывает карту. Символ равен «#», если клетка обозначает воду, «.», если эта клетка соответствует суше, и «?», если эта клетка стерлась.
Гарантируется, что входные данные содержат хотя бы один символ «.» и хотя бы один символ «?».
Если карту нельзя восстановить так, чтобы на ней оказался изображен ровно один остров, выведите «Impossible».
Если карту можно восстановить единственным образом, выведите n строк по m символов в том же формате, что и во входных данных, заменяя символы «?» на «.» или «#».
Если же карту можно восстановить несколькими способами, выведите «Ambiguous».
5 7
#######
#..#..#
#..?..#
#..#..#
#######
#######
#..#..#
#.....#
#..#..#
#######
5 7
#######
#...#.#
#.?.?.#
#.#...#
#######
Ambiguous
5 7
#######
#.#.#.#
#.#?#.#
#.#.#.#
#######
Impossible