#include <stdio.h>
int N;
char b[4096]={0};
int s[10][5]={0};
void print(){
for (int i=0,flag=0;i<1024 && b[i]!=0;i++){
char c=b[i]-48;
if (c ==0||c==1) {
printf("%c",c==0?'B':'I');
s[0][i%2]=c;
s[0][2]++;
for (int j=0;j<N && s[j][2]==2;j++){
flag = s[j][0] == s[j][1] && s[j][0]!=2 ? s[j][0] : 2;
//printf("Mike:i=%d,j=%d,flag=%d,[%d,%d,%d]\n",i,j,flag,s[j][0], s[j][1],s[j][2]);
printf("%c",flag ==0 ? 'B':((flag==1) ?'I':'F'));
s[j+1][s[j+1][2]]=flag;
s[j+1][2]++;
s[j][2]=0;
}
}
}
}
int main(){
scanf("%d",&N);
if (N>=0 && N<=10) {
scanf("%s",b);
//printf("Mike:N=%d,s=%s\n",N,b);
print();
}
return 0;
}
/**************************************************************
Problem: 2246
User: admin
Language: C
Result: Accepted
Time:46 ms
Memory:1148 kb
****************************************************************/