import math
def get_num():
    n = int(input())
    num = 1
    prev_idx = 0
    first = True
    for i in range(n):
        line = input()
        idx = line.index('#')
        prev_idx = idx
        if first:
            first = False
            continue
        if prev_idx < idx:
            num *= 2
        else:
            num = num*2 + 1
    return num


num1 = get_num()
num2 = get_num()

# print(f"num1: {num1}, 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]

width = max - min + 1
# print(width)
# print(min)
binary = [b - min for b in binary]
# print(binary)

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





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

3
#..
.#.
..#
3
.#
#.
.#

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

"""