n1 = int(input())

arr1 = []
for i in range(n1):
    line = input()
    l = []
    for j in line:
        l.append(j)
    arr1.append(l)
n2 = int(input())

arr2 = []
for i in range(n2):
    line = input()
    l = []
    for j in line:
        l.append(j)
    arr2.append(l)

num1 = 1
num2 = 1
for i in range(n1 - 1):
    for j in range(len(arr1[i])):
        if arr1[i][j] == "#":
            if j == 0:
                num1 *= 2
            elif j == len(arr1[i]) - 1:
                num1 *= 2
                num1 += 1
            else:
                if arr1[i + 1][j - 1] == "#":
                    num1 *= 2
                    num1 += 1
                else:
                    num1 *= 2

for i in range(n2 - 1):
    for j in range(len(arr2[i])):
        if arr2[i][j] == "#":
            if j == 0:
                num2 *= 2
            elif j == len(arr2[i]) - 1:
                num2 *= 2
                num2 += 1
            else:
                if arr2[i + 1][j - 1] == "#":
                    num2 *= 2
                    num2 += 1
                else:
                    num2 *= 2
num = num1 + num2
height = 1
minx = 0
maxx = 0
cur = 0
numc = num
while(num > 1):
    if num%2 == 0:
        cur-=1
    else:
        cur+=1
    height+=1
    if cur < minx:
        minx = cur
    elif maxx < cur:
        maxx = cur
    num/=2
    num = int(num)

width = -minx + maxx + 1
field = [[] for i in range(height)]

for i in range(height):
    for j in range(width):
        field[i].append('.')

curindex = -minx
field[height-1][curindex] = "#"
i = height -1
while numc > 1:
    if numc%2 == 0:
        field[i-1][curindex - 1] = "#"
        curindex-=1
    else:
        field[i-1][curindex + 1] = "#"
        curindex+=1
    numc/=2
    numc = int(numc)
    i-=1
print(len(field))
for i in field:
    for j in i:
        print(j, end="")
    print()