{
TASK:risc
LANG:pascal
}
var n,i:Longint;
Begin
  ReadLn(n);
 if n=1 then
 Begin
   WriteLn('4'#13#10'B'#13#10'+'#13#10'B'#13#10'+');
   Exit;
 End;
 if n=3 then
 Begin
   {WriteLn('8'#13#10'?'#13#10'B'#13#10'+'#13#10'+'#13#10'+'#13#10'+'#13#10'+'#13#10'LOOP');}
   WriteLn('8');
   WriteLn('?');
   WriteLn('B');
  For i:=1 to 5 do WriteLn('+');
   WriteLn('LOOP');
   Exit;
 End;
 if n>=5 then
 Begin
   WriteLn(4+n+3);
   WriteLn('?');
   WriteLn('B');
   WriteLn('LOOP');
   WriteLn('B');
  For i:=1 to n do WriteLn('+');
   WriteLn('B=A');
   WriteLn('+');
   WriteLn('A');
   Exit;
 End;
  WriteLn(2*n+3);
 For i:=1 to n do WriteLn('B');
 For i:=1 to n do WriteLn('+');
  WriteLn('B=A');
  WriteLn('+');
  WriteLn('A');
End.