rr = raw_input rri = lambda: int(raw_input()) rrm = lambda: map(int, raw_input().split()) def solve(tot, K): q, r = divmod(tot, K) N = q + (r > 0) ans = [['.'] * N for _ in xrange(N)] for r, row in enumerate(ans): for c in range(r, r+K): c %= N ans[r][c] = '#' return ans ans = solve(*rrm()) print len(ans) for row in ans: print "".join(row)