#!/usr/bin/python3

def rotate(block):
    h, w = len(block), len(block[0])
    return [[block[h - i - 1][j] for i in range(h)] for j in range(w)]

h, w = [int(x) for x in input().split()]
block = [list(input()) for _ in range(h)]

for _ in range(4):
    block = rotate(block)
    h, w = len(block), len(block[0])
    if all(x == '#' for x in block[0]) and all(block[i-1][j] == '#' for i in range(1, h) for j in range(w) if block[i][j] == '#'):
        invblock = [['.' if x == '#' else '#' for x in l] for l in block]
        print(h, w + 2)
        for l in invblock:
            print(*(['#'] + l + ['#']), sep="")
        break
else:
    print("impossible")
