N, m = 666, (666 - 3) // 4 side = 4 * m + 3 base = [["."] * side for _ in range(side)] def plus(x, y): r, c = 2 * x + 1, 2 * y + 1 for dr, dc in ((0, 0), (-1, 0), (1, 0), (0, -1), (0, 1)): base[r + dr][c + dc] = "#" for x in range(2 * m + 1): for y in (range(m, 2 * m + 1) if x % 2 == 0 else range(m + 1)): plus(x, y) base = ["".join(row) + "." * (N - side) for row in base] + ["." * N] * (N - side) changed = base.copy(); changed[2] = changed[2][:1] + "." + changed[2][2:] print(N) print("\n".join(base + base + changed))