/*#include <iostream>

using namespace std;

int n,i,k;
bool fol[1111111];

int main()
{
    cin>>n;
    for(i=(1<<(n-1));i<(1<<n);++i)
    {
        if(!fol[i])
        {
            cout<<i<<" ";
            k=i^(i/2);
            fol[k]=true;
            while(k!=i)
            {
                cout<<k<<" ";
                k=k^(k/2);
                fol[k]=true;
                
            }
            cout<<"\n";
            //return 0;
        }
    }
    return 0;
}
*/

#include <iostream>

using namespace std;

int n,i,k,j,nr1;
const int x[]={4,6,10,18,34,66,130,258,514,1026,2050,4098,8194,16386,32770,65538};


int main()
{
    cin>>n;
    if(n%2==1)
    {
        cout<<"NO";
        return 0;
    }
    if(n==2)
    {
        cout<<"AA\n22";
        return 0;
    }
    if(n==4)
    {
        cout<<"AAA\n2222";
        return 0;
    }
    for(i=0;;++i)
    {
        if((x[i]-2)*2<n && (x[i]-2)*4>=n )
        {
            for(j=1;j<=x[i];++j)
            {
                cout<<"A";
            }
            cout<<"\n";
            nr1=n-(x[i]-2)*2;
            for(j=1;j<=(x[i]-2)*2;++j)
            {
                if(nr1!=0)
                {
                    cout<<1;
                    --nr1;
                }
                cout<<2;
                
            }
            return 0;
        }
    }
    return 0;
}








