#include<bits/stdc++.h>
using namespace std;
int f[1025],n;
char t;
int p[11]={1,2,4,8,16,32,64,128,256,512,1024}; // 打表2的次方
int main(){
    cin>>n;
    for(int i=1;i<=p[n];++i){
        cin>>t; 
        f[i]=t-'0';
        if(f[i]==0)cout<<"B"; 
  		else if(f[i]==1)cout<<"I"; 
  		else cout<<"F";
        for(int k=1;k<11;++k){//合并过程
            if(i%p[k]==0){
                if(f[i]!=f[i-p[k-1]])f[i]=2;
                if(f[i]==0)cout<<"B";
  		else if(f[i]==1)cout<<"I";
  		else cout<<"F";
            }
        }
    }
    return 0;
}
/**************************************************************
	Problem: 2246
	User: chenshuo
	Language: C++
	Result: Accepted
	Time:116 ms
	Memory:2076 kb
****************************************************************/