#define _CRT_SECURE_NO_DEPRECATE #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define all(v) v.begin(),v.end() using namespace std; typedef long long ll; typedef unsigned long long ull; typedef long double ld; const ld epsylon = 1e-9; typedef unsigned int ui; inline long double get_time(){ return (long double)clock()/CLOCKS_PER_SEC; }; int k; int park[201][201]; int n = 200; int m = 200; vector dels; void delits (vector & dels, int k) { int i = 200; while (k > 1) { for (;i >= 2; --i) { if (k % i == 0) { dels.push_back(i); k/=i; break; } } } } void make_field() { int j = 199; for (int i = dels.size() - 1; i >= 0; --i, j--) { for (int z = 1; z <= dels[i]; ++z) { park[j][z] = 1; } } for (int k = 1; k <= 200; ++k) park[200][k] = 1; for (int k = 1; k <= 200; ++k) park[k][1] = 1; } int main() { freopen("park.in","r",stdin); freopen("park.out","w",stdout); //program memset(park,-1,sizeof(park)); scanf("%d", &k); delits(dels, k); make_field(); printf("%d %d\n", n, m); for (int i = 1; i <= n; ++i) { for (int j = 1; j <= m; ++j) { if (park[i][j] == 1) printf("."); else printf("#"); } printf("\n"); } //end program return 0; }