#!/usr/bin/env python3 # from typing import * import sys import io import math import collections import decimal import itertools import bisect import heapq def input(): return sys.stdin.readline()[:-1] # sys.setrecursionlimit(1000000) # _INPUT = """# paste here... # """ # sys.stdin = io.StringIO(_INPUT) INF = 10**10 N, K = map(int, input().split()) n = N // (K*K) k = 0 while n * (K*K) + k*k < N: k += 1 M = K*n + k A = [['.'] * M for _ in range(M)] for n1 in range(n): for i in range(K*n1, K*(n1+1)): for j in range(K*n1, K*(n1+1)): A[i][j] = '#' for i in range(K*n, K*n+k): for j in range(K*n, K*n+k): A[i][j] = '#' print(M) for i in range(M): print(''.join(A[i]))