#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

const ll MAX = (ll)4e13;
const int N = 2025;
char soln[N][N];

int main(){
    ll k;
    cin >> k;
    vector<int> take;
    int res = 0;
    int p = 1;
    for(int i = 0 ; i < N; i ++ ){
        for(int j = 0 ; j < N; j ++ ){
            soln[i][j] = '.';
        }
    }
    int big = 0;
    for(int i = N; i >= 2; i -- ){
        ll f = i * 1ll * (i - 1) / 2ll;
        for(int j = N; j >= i; j -- ){
            ll g = j * 1ll * (j - 1) / 2ll;
            ll mi = f * g;
            while(mi <= k){
                res += i + 1;
                for(int x = 0; x < i; x ++ ){
                    for(int y = 0; y < j; y ++ ){
                        soln[p + x][y] = '#';
                    }
                }
                big = max(big, j);
                p += i + 1;
                take.push_back(i);
                k -= mi;
            }
        }
    }
    cout << p - 1 << " " << big << "\n";
    for(int i = 0 ; i < big; i ++ ){
        for(int j = 0; j < p - 1; j ++ ){
            cout << soln[j][i];
        }
        cout << "\n";
    }
    return 0;
}