n, k = read_line.split.map &.to_i block = n // (k * k) n = n % (k * k) m = block * k add = (0..).find { |i| n <= i*i }.not_nil! m += add ans = Array.new(m) { Array.new(m, '.') } n -= add * add block.times do |i| k.times do |y| k.times do |x| ans[i * k + y][i * k + x] = '#' end end end (m - add...m).each do |i| (m - add...m).each do |j| ans[i][j] = '#' end end m.times do |i| m.times do |j| if n < 0 ans[i][j] = '.' n += 1 end end end puts m, ans.map(&.join).join('\n')