#include<iostream>
//#include<fstream>
#define in cin
#define out cout
using namespace std;
//ifstream in("test.in");
//ofstream out("test.out");
const int Nmax = 100001;
int N,v[Nmax];
int mark[Nmax];
int check(int x){
    int p=x;
    mark[x]=1;
    for(int i=1;i<=N;i++){
        if(v[i]==0) p^=1;
        if(v[i]==1) p^=(p>>1);
        if(p==0) p=1;
        if(mark[p]){
            if(i==N && p==x) return 1;
            return 0;
        }
        mark[p]=1;
    }
    return 0;
}
int main(){
    in>>N;
    int x=1;
    while(1){
        for(int e=0;e<=(1<<N)-1;e++){
            for(int k=0;k<N;k++){
                if((1<<k)&e) v[k+1]=1;
                else v[k+1]=0;
            }
            int sol=-1;
            for(int i=1;i<=(x<<1);i++) mark[i]=0;
            if(check(x)){
                int k=0;
                for(;(1<<k)<=x;k++) mark[k]=(1<<k)&x;
                for(k=k-1;k>=0;k--){
                    if(mark[k]) out<<'A';
                    else out<<'B';
                }
                out<<'\n';
                for(int i=1;i<=N;i++) out<<v[i]+1;out<<'\n';
                return 0;
            }
        }
        x<<=1;
    }
    return 0;
}
