from sys import stdin ## input functions for me def ria(sep = ''): if sep == '' : return list(map(int, input().split())) else: return list(map(int, input().split(sep))) def rsa(sep = ''): if sep == '' : return input().split() else: return input().split(sep) def ri(): return int(input()) def rd(): return float(input()) def rs(): return input() ## ## main ## N, K = map(int, input().split()) M1 = N // (K * K) rest = N - M1 * K * K M2 = 0 while True: if M2 * M2 >= rest: break M2 += 1 M = M1 * K + M2 ar = [['.'] * M for i in range(M)] #print(M1,M2) for k in range(M1): for i in range(K): for j in range(K): ar[k * K + i][k * K + j] = '#' for i in range(M2): for j in range(M2): if rest == 0: break ar[M1 * K + i][M1 * K + j] = '#' rest -= 1 print(M) for i in range(M): print("".join(ar[i]))