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

#define MULTITEST false

using namespace std;
char a[2025][2025];
void solve () {
    int k;
    cin>>k;
    vector<pair<int,int> >sizes;
    int first = 0;
    while(k){
        int h,w,best=0;
        for(int i=1;i<=2000;i++){
            for(int j=1;j<=2025;j++){
                int z = i * (i-1)/2 * j * (j-1)/2;
                if(z<=k&&z>best&&(!first||i<=10)){
                    best=z;
                    h=i;
                    w=j;
                }
            }
        }
        //cout<<h<<' '<<w<<endl;
        sizes.push_back({h,w});
        k-=best;
        first=1;
    }
    for(int i=0;i<2025;i++){
        for(int j=0;j<2025;j++){
            a[i][j]='.';
        }
    }
    int start=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++){
            for(int k=0;k<y;k++){
                a[j][k]='#';
            }
        }

        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();
}