#include<bits/stdc++.h>
using namespace std;
struct node {
int l, r, lson, rson;
char id;
};
int n;
string str;
vector<node> seg;
void push_up(int p) {
if (seg[seg[p].lson].id == seg[seg[p].rson].id && seg[seg[p].lson].id != 'F')
seg[p].id = seg[seg[p].lson].id;
else seg[p].id = 'F';
return;
}
void build(int p, int l, int r) {
seg[p].lson = p << 1, seg[p].rson = p << 1 | 1;
seg[p].l = l, seg[p].r = r;
if (l == r) {
if (str[l] == '0') seg[p].id = 'B';
if (str[l] == '1') seg[p].id = 'I';
return;
}
int mid = (seg[p].l + seg[p].r) >> 1;
build(seg[p].lson, l, mid);
build(seg[p].rson, mid + 1, r);
push_up(p);
return;
}
void out(int p) {
if (seg[p].l != seg[p].r) {
out(seg[p].lson);
out(seg[p].rson);
}
cout << seg[p].id;
}
void in() {
scanf("%d\n", &n);
cin >> str;
seg.resize(str.size() << 2 | 1);
build(1, 0, str.size() - 1);
return;
}
int main() {
in();
out(1);
return 0;
}