#include #include #include using namespace std; int N, M, B; char c[1009][1009]; int main() { cin >> N >> M; B = (N + M - 1) / M; assert(1 <= M && M <= N && N <= 1000); for (int i = 0; i <= 10000; i++) { if (i*i < N) B = max(B, i + 1); } for (int i = 0; i < B; i++) { for (int j = 0; j < B; j++) c[i][j] = '.'; } for (int i = 0; i < M; i++) { for (int j = 0; j < B; j++) { if (N > 0) { c[j][(i + j) % B] = '#'; N--; } } } cout << B << endl; for (int i = 0; i < B; i++) { for (int j = 0; j < B; j++) cout << c[i][j]; cout << endl; } return 0; }