#include<bits/stdc++.h> using namespace std; int m,k; int nx,ny; queue<int> q1; int vis[100005]; string path[10000]; string p1= "DABC"; int main(){ memset(vis,-1,sizeof(vis)); cin>>m>>k; int front,rear=1; front=rear; q1.push(m); q2.push(0); vis[m]=0; while(front<=rear){ int x=q1.front(); q1.pop(); int y=q2.front(); q2.pop(); for(int i=1; i<=3; i++){ int nx; if(i==1) nx=x+1; if(i==2) nx=x-10; if(i==3) nx=x*2; if(nx>=0 && nx<=100000 && vis[nx]==-1){ path[nx]=path[x]+p1[i]; rear++; q1.push(nx); q2.push(y+1); vis[nx]=true; } if(nx==k){ cout<<y+1<<endl; cout<<path[nx]<<endl; return 0; } } front++; } return 0; }