#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef string::const_iterator State; #define Ma_PI 3.141592653589793 #define eps 1e-5 #define LONG_INF 1e18 #define GOLD 1.61803398874989484820458 #define MAX_MOD 1000000007LL #define MOD 998244353LL #define seg_size 262144*4 #define REP(a,b) for(long long a = 0;a < b;++a) int grid[1000][1000] = {}; int main() { int n, k; cin >> n >> k; for (int lane = 1;; ++lane) { int cnt = 0; REP(i, lane) { REP(q, lane) { int hoge = i / k; if (q >= hoge * k && q < (hoge + 1) * k) { grid[i][q] = 1; cnt++; } else { grid[i][q] = 0; } } } if (n <= cnt) { cout << lane << endl; REP(i, lane) { REP(q, lane) { if (grid[i][q] == 1) { cout << "#"; } else { cout << "."; } } cout << endl; } return 0; } } }