#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    cout<<(1<<n)-1<<endl;
    for(int i=1;i<(1<<n);i++)
    {
        for(int j=0;j<(1<<n);j++)
            putchar('A'+(__builtin_popcount(i&j)&1));
        puts("");
    }
    return 0;
}
//#define _GLIBCXX_DEBUG
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(i, n) for (ll i = 0; i < (ll)(n); i++)
template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; }
template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return 1; } return 0; }

int main() {
    ll N; cin>>N;
    ll sum = 0;

    for(ll i=1; i<1e9; i++){
        sum +=  i;
        if(sum >= N){
            cout << i << endl;
            return 0;
        }
    }
}