def parse_num(N) -> int: n = 1 i = input().find("#") for _ in range(N-1): inp = input() if len(inp)-1 > i and inp[i+1] == "#": i += 1 n *= 2 else: i -= 1 n = 2*n+1 return n s = 0 for _ in range(2): N = int(input("")) s += parse_num(N) # Print back the s indexes = [] # from the back/bottom w = 0 width = 0 while s > 1: if s%2: v = +1 s -= 1 else: v = -1 s /= 2 indexes.append(v) # if s is even go left-up w += v if abs(w) > width: width = abs(w) width += 1 # print(f"{width=}") # print(f"{indexes=}") # print(f"{w=}") # Build output print(len(indexes)+1) a = max(0, w) b = width-a-1 print("."*a + "#" + "."*b) for i in indexes: a -= i b += i print("."*a + "#" + "."*b)