#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
****************************************************************/