#include<bits/stdc++.h>
using namespace std;
int n;
string s;
vector<int> m;
int work(int beg, int end, int root) {
if (end == beg) {
if (s[beg] == '0') { m[root] = 0; return 0; }
if (s[beg] == '1') { m[root] = 1; return 1; }
}int mid = (beg + end) / 2;
int l1 = work(beg, mid, root * 2), l2 = work(mid + 1, end, root * 2 + 1);
if (l1 == 1 && l2 == 1) { m[root] = 1; return 1; }
else if (!l1 && !l2) { m[root] = 0; return 0; }
else { m[root] = 2; return 2; }
}void print(int root) {
if (root >= m.size() || m[root] == -1) return;
print(root * 2);
print(root * 2 + 1);
if (m[root] == 0) cout << "B";
if (m[root] == 1) cout << "I";
if (m[root] == 2) cout << "F";
}int main() {
cin >> n;
n = 1 << n;
cin >> s;
s = " " + s;
int size = 1 << (n + 2);
m.resize(size, -1);
work(1, n, 1);
print(1);
}
60point 2、8、9、10 RE 求调