/*
TASK:risc
LANG:C++
*/

#include<iostream>
using namespace std;

long n;
long result;

long best;

long p[10001];
long q[10001];

long calculate()
{
     long r=0;
     for(int i=1; i<=n; i++)
       for(int j=0; j<p[i]; j++)
         r+=i;
     return r;
}

long count_red()
{
     int nuli=0;
     for(int i=1; i<=n; i++)
        if(p[i]==0) nuli++;
        else break;
     long chislo=p[n];
     long ostatuk=result-calculate();
     long bigger=ostatuk/n;
     long one=ostatuk%n;
     int inic=nuli==1?0:1;
     int losho=nuli>0?0:1;
     
     return nuli+chislo+bigger+one+inic-1+losho+1;
}

int increment()
{
     int krai_nuli=0;
     for(int i=1; i<=n; i++)
       if(p[i]==0) krai_nuli=i;
     for(int i=krai_nuli+1; i<=n; i++)
       p[i]++;
     if(calculate()>result)
     {     
       if(krai_nuli==1) return 0;
       for(int i=krai_nuli; i<=n; i++)
         p[i]=1;
       if(calculate()>result) return 0;
     }
     return 1;
}
                           
void permut()
{
     long j=0;
     while(increment())
     {        
              j=count_red();
              if(best>j||best==0) {
                                  best=j;
                                  for(int i=1; i<=n; i++)
                                    q[i]=p[i];
                                  }
     }         
}

void izpis()
     {
     for(int i=1; i<=n; i++)
        p[i]=q[i];       
     if(n==1) best=3;
     cout << best+2 << endl;
     int nuli=0;
     for(int i=1; i<=n; i++)
        if(p[i]==0) nuli++;
        else break;
     long chislo=p[n];
     long ostatuk=result-calculate();
     long bigger=ostatuk/n;
     long one=ostatuk%n;
     if(n!=1)
    { 
         //int inic=nuli==1?0:1;
         for(int i=1; i<nuli; i++)
           cout << "B" << endl;
         cout << "?" << endl;
         cout << "B" << endl;
         for(int i=0; i<chislo; i++)
           cout << "+" << endl;
         cout << "LOOP" << endl;
}
     for(int i=0; i<bigger; i++)
       cout << "+" << endl;
     for(int i=0; i<one; i++)
       cout << "A" << endl;
     }

int main(void)
{
    cin >> n;
    result = n*n + (n+1)*(n+1);
    if(n!=1) 
    {
    p[n]=1;
    permut();
    }
    izpis();
}

