#include <bits/stdc++.h>
#define int long long

#define MULTITEST false

using namespace std;
char a[2025][2025];
int bin(int l,int r,int x,int k){
    if(l==r){
        return l;
    }
    if(l+1==r){
        if(r*(r-1)/2*x<=k)
        return r;
        return l;
    }
    int m = (l+r)/2;
    if(m*(m-1)/2*x<=k){
        return bin(m,r,x,k);
    }
    else{
        return bin(l,m,x,k);
    }
}
void solve () {
    int k;
    cin>>k;
    vector<pair<int,int> >sizes;
    vector<int>last;
    int first = 0;
    while(k){
        int h,w,best=0,lasti;
        for(int i=1;i<=2000;i++){
            for(int j=1;j<=2025;j++){
                int z = (i-1) * (i-2)/2 * j * (j-1)/2;
                if(z>k){
                    continue;
                }
                int f = bin(0, j, i, k-z) + 1;
                int z1 = z + f*(f-1)/2 * (i-1);
                
                if(z1<=k&&z1>best&&(!first||i<=5)){
                    best=z1;
                    h=i;
                    w=j;
                    lasti = f;
                }
            }
        }
        //cout<<h<<' '<<w<<endl;
        sizes.push_back({h,w});
        last.push_back(lasti);
        k-=best;
        first=1;
    }
    for(int i=0;i<2025;i++){
        for(int j=0;j<2025;j++){
            a[i][j]='.';
        }
    }
    int start=0;
    int index = 0;
    for(auto i:sizes){
        int x = i.first;
        int y = i.second;
        assert(start+x<=2025);
        for(int j=start;j<start+x;j++){
            int lim = y;
            if(j+1==start+x){
                lim=last[index];
            }
            for(int k=0;k<lim;k++){
                a[j][k]='#';
            }
        }
        index += 1;
        start = start+x+1;
    }
    cout<<2025<<' '<<2025<<endl;
    for(int i=0;i<2025;i++){
        for(int j=0;j<2025;j++){
            cout<<a[i][j];
        }
        cout<<endl;
    }
}

signed main() {
    ios_base::sync_with_stdio(0);
    cin.tie(NULL);
    cout.precision(30);
    
    int T = 1;
    if (MULTITEST) cin >> T;

    for (int t = 0; t < T; t ++)
        solve();
}