#include<stdio.h>
#include<string.h>
long int n,m,i,fib[30],a,b,pas;
char cuv[3027200],cuv1[100000],cuv2[100000],aa[100000],bb[100000],*p1,*p2,*paux,*p,*pc;
int main()
{
FILE *f,*g;f=fopen("lampa.in","r");g=fopen("lampa.out","w");
fscanf(f,"%ld%ld",&n,&m);
fscanf(f,"%s",cuv);
cuv1[0]='A';cuv2[0]='B';p1=cuv1;p2=cuv2;
for(i=3;i<=n;i++)
{strcat(p1,p2);paux=p1;p1=p2;p2=paux;}
p=p2;
fib[1]=1;fib[2]=1;
for(i=3;i<=28;i++)fib[i]=fib[i-1]+fib[i-2];
a=1;while((m-a*fib[n-2])%fib[n-1])a++;
b=(m-a*fib[n-2])/fib[n-1];
pas=fib[n]-2;
while(b)
{ paux=p;pc=cuv;
if(*paux=='A')
{ strncpy(aa,pc,a);aa[a]=0;pc+=(char)a;paux++;
strncpy(bb,pc,b);bb[b]=0;pc+=(char)b;paux++;
}
else
{ strncpy(bb,pc,b);bb[b]=0;pc+=(char)b;paux++;
strncpy(aa,pc,a);aa[a]=0;pc+=(char)a;paux++;
}
for(i=1;i<=pas;i++)
{ if(*paux=='A'&&!(strncmp(pc,aa,a))){pc+=(char)a;paux++;continue;}
if(*paux=='B'&&!(strncmp(pc,bb,b))){pc+=(char)b;paux++;continue;}
break;
}
if(i==pas+1){fprintf(g,"%s\n%s\n",aa,bb);fcloseall();return 0;}
a+=fib[n-1];b-=fib[n-2];
}
fprintf(g,"0\n");
fcloseall();
return 0;
}