#include <bits/stdc++.h>
using namespace std;

const long long maxk = 4e12;
const int maxn = 2025;
long long get(long long n) { return n * (n - 1) / 2; }

bool a[maxn][maxn];


void solve(long long k, int sx, int sy) {
    if(k == 0) {
        for(int i = sx; i < maxn; i++) {
            for(int j = sy; j < maxn; j++) {
                a[i][j] = true;
            }
        }
        return;
    }
//    cout << "--------------------\n";
//    cout << "cur: " << sx << ' ' << sy << '\n';

//    for(int i = 0; i < maxn; i++){
//        for(int j = 0; j < maxn; j++){
//            cout << (a[i][j] ? '.' : '#');
//        }
//        cout << '\n';
//    }

    assert(sx < maxn);
    assert(sy < maxn);
    int lenx = maxn - sx, leny = maxn - sy;
//    cout << lenx << ' ' << leny << '\n';
    if(lenx < leny){
//        cout << "x\n";
        int j = 1;
        while(get(lenx) * get(j) <= k && j < leny) ++j;
        if(get(lenx) * get(j) > k) --j;

        if(j == 1){ // rossz eset
            for(int i = sy; i < maxn; i++) a[sx][i] = true;
            solve(k, sx + 1, sy);
            return;
        }

        if(j < leny){
            for(int i = sx; i < maxn; i++) a[i][sy + j] = true;
        }

        solve(k - get(lenx) * get(j), sx, sy + j + 1);

    } else {
//        cout << "y\n";
        int j = 1;
        while(get(leny) * get(j) <= k && j < lenx) ++j;
        if(get(leny) * get(j) > k) --j;

//        cout << "cur j: " << j << '\n';

        if(j == 1){ // rossz eset
            for(int i = sx; i < maxn; i++) a[i][sy] = true;
            solve(k, sx, sy + 1);
            return;
        }

        if(j < lenx){
            for(int i = sy; i < maxn; i++) a[sx + j][i] = true;
        }

        solve(k - get(leny) * get(j), sx + j + 1, sy);
    }
}

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    long long k;
    cin>>k;

    solve(k, 0, 0);

    cout << maxn << ' ' << maxn << '\n';
    for(int i = 0; i < maxn; i++){
        for(int j = 0; j < maxn; j++){
            cout << (a[i][j] ? '.' : '#');
        }
        cout << '\n';
    }

    return 0;
}