#!/usr/bin/python3

import sys

h,w = map(int,sys.stdin.readline().split(' '))
cline = 0
obj = []
for line in sys.stdin.readlines():
    line = line.strip('\n')
    assert len(line)==w
    obj.append(line)
    cline +=1

for i in range(4):
    failed = False
    for y in range(1,len(obj)):
        if failed:
            continue
        for x in range(len(obj[0])):
            if obj[y][x] == '#' and obj[y-1][x] != obj[y][x]:
                failed = True
                break
    if failed:
        newobj = []
        for x in range(len(obj[0])-1, -1, -1):
            nline = []
            for y in range(len(obj)):
                nline.append(obj[y][x])
            nline = ''.join(nline)
            newobj.append(nline)
        obj = newobj
    else:
        assert cline==h
        finalobj = []
        finwidth = len(obj[0])+2
        for b in range(i):
            finalobj.append('.'*finwidth)
        for y in range(len(obj)):
            fline = '#'
            for x in obj[y]:
                if x=='#':
                    fline += '.'
                else:
                    fline += '#'
            fline += '#'
            finalobj.append(fline)
        print(len(finalobj), len(finalobj[0]))
        for x in finalobj:
            print(x)
        exit(0)
print("impossible")
