#include using namespace std; char board[1001][1001]; int main(void) { cin.tie(0); ios::sync_with_stdio(false); int N, K; cin >> N >> K; int k = K; K = min((int)sqrt(N), K); int M = ceil((N * 1.0) / K); //cout << K << ' ' << M << '\n'; if ((M - 1)*k >= N && ((M-1)*(M-1) >= N)) { M -= 1; K = M; } //M = max((int)(sqrt(N)), M); for (int i = 0; i < 1000; i++) { for (int j = 0; j < 1000; j++) { board[i][j] = '.'; } } int num = N; for (int i = 0; i < M; i++) { int idx = i; idx %= M; for(int j=0;j 0) { board[i][idx] = '#'; num--; idx++; idx %= M; } } } cout << M << '\n'; for (int i = 0; i < M; i++) { for (int j = 0; j < M; j++) { cout << board[i][j]; } cout << '\n'; } return 0; }