#include using namespace std; int main () { int N; cin >> N; char ans[2020][2020]; for (auto& a: ans) { for (auto& b : a) { b = '#'; } } std::vector H, W; queue que; que.push(N); while (!que.empty()) { int n = que.front(); que.pop(); if (n <= 1) continue; int h = n / 2, w = (n + 1) / 2; H.push_back(h); W.push_back(w); que.push(h); que.push(w); } int hp = 0, wp = 0; for (int p = 0; p < H.size(); p ++) { for (int i = 0; i <= H[p]; i ++) { for (int j = 0; j <= W[p]; j ++) { ans[hp + i][wp + j] = '.'; } } hp += H[p]; wp += W[p]; } printf("%d %d\n", hp + 1, wp + 1); for (int i = 0; i <= hp; i ++) { for (int j = 0; j <= wp; j ++) { cout << ans[i][j]; } cout << endl; } }