using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); public static void Main() { Solve(); } static void Solve() { var c = NList; var (n, k) = (c[0], c[1]); var s2 = Grid(n, k); WriteLine(s2.m); WriteLine(string.Join("\n", s2.ans.Select(ai => string.Concat(ai)))); } static (int m, char[][] ans) Grid(int n, int k) { var m = (n + k - 1) / k; while (m * m < n) ++m; var ans = new char[m][]; var rest = n; for (var i = 0; i < m; ++i) { ans[i] = Enumerable.Repeat('.', m).ToArray(); for (var j = 0; j < Math.Min(m, k); ++j) { if (rest > 0) { ans[i][(i + j) % m] = '#'; --rest; } } } return (m, ans); } }