import math

n = int(input())
idx = -1
num1 = 1
prev_idx = -1
first = True
for i in range(n):
    line = input()
    idx = line.index('#')
    if first:
        first = False
        continue
    if prev_idx < idx:
        num1 *= 2
    else:
        num1 = num1*2 + 1
    prev_idx = idx
# print(f"num1 = {num1}")

n = int(input())
num2 = 1
first = True
for i in range(n):
    line = input()
    idx = line.index('#')
    if first:
        first = False
        continue
    if prev_idx < idx:
        num2 *= 2
    else:
        num2 = num2*2 + 1
    prev_idx = idx
# print(f"num2 = {num2}")


num = num1 + num2
# num = 10

matrix = []
binary = []
# print(f"num = {num}")
height = math.ceil(math.log2(num+1))
print(height)

# for i in range(1,34):
#     print(f"num: {i}, log2: {math.ceil(math.log2(i+1))}")

idx = 0
max = 0
min = 0
while num >= 1:
    even = num % 2 == 0
    if even:
        binary.append(idx)
        idx += 1
        if idx > max:
            max = idx
    else:
        binary.append(idx)
        idx -= 1
        if idx < min:
            min = idx
    num //= 2
# binary = binary[::-1]
# print(binary)

width = max - min + 1
# print(width)


matrix = []
for b in binary:
    for a in range(b):
        print('.', end="")
    print('#', end="")
    for a in range(b+1,width):
        print('.', end="")
    print()





"""
3
#..
.#.
..#
3
.#
#.
.#

2
#.
.#
4
..#
.#.
#..
.#.

"""