#include <iostream>
#include <vector>
#include <bits/stdc++.h>
#define minn -10000
using namespace std;
typedef long long ll;
int n;
string s;
ll cnt1=0,cnt2=0;//1统计1数量 2统计2数量
void deal(int l,int r)//按照左右根输出
{
if(l==r)//递归边界
{
if((s[l]-'0')&1) cout<<"I";
else cout<<"B";
return ;
}
else
{
int mid=(l+r)>>1;
deal(l,mid);//左子树
deal(mid+1,r);//右子树
}
cnt1=0;cnt2=0;
for(int i=l;i<=r;i++)//处理根结点,判断01的数量就可以推得根
{
if(((s[i]-'0')&1)) cnt1++;
else cnt2++;
}
if(!cnt1) cout<<"B";
else if(!cnt2) cout<<"I";
else cout<<"F";
}
int main()
{
int n;
cin>>n;
cin>>s;
int m=pow(2,n);
deal(0,m-1);
}