#include <iostream>
#include <cstdlib>
#include <cstdio>
using namespace std;
#define MAXN 14
int N, M, K;
string S;
int A[8 * MAXN];
int calc(int y, int x, int a, int b) {
return (1ll * x * (A[y * 8 + a * 4 + b * 2] + 1) +
A[y * 8 + a * 4 + b * 2 + 1]) % M;
}
bool solve_and(int y, int x, bool a);
bool solve_or(int y, int x) {
if(y == N) return x <= K || x + K >= M;
bool mv = rand() & 1;
return solve_and(y, x, mv) || solve_and(y, x, !mv);
}
bool solve_and(int y, int x, bool a) {
bool mv = rand() & 1;
return solve_or(y + 1, calc(y, x, a, mv)) &&
solve_or(y + 1, calc(y, x, a, !mv));
}
int main() {
freopen("cowrun.in", "r", stdin);
freopen("cowrun.out", "w", stdout);
cin >> N >> M >> K;
cin >> S;
for(int i = 0; i < 8 * N; i++) {
cin >> A[i];
}
int x = 0;
for(int i = 0; i < N; i++) {
if(solve_and(i, x, true)) {
cout << 'B';
x = calc(i, x, true, S[i] == 'B');
} else {
cout << 'T';
x = calc(i, x, false, S[i] == 'B');
}
}
cout << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPGNzdGRpbz4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIE1BWE4gMTQKCmludCBOLCBNLCBLOwpzdHJpbmcgUzsKCmludCBBWzggKiBNQVhOXTsKCmludCBjYWxjKGludCB5LCBpbnQgeCwgaW50IGEsIGludCBiKSB7CiAgcmV0dXJuICgxbGwgKiB4ICogKEFbeSAqIDggKyBhICogNCArIGIgKiAyXSArIDEpICsKICAgICAgICAgICAgICAgICAgICAgQVt5ICogOCArIGEgKiA0ICsgYiAqIDIgKyAxXSkgJSBNOwp9Cgpib29sIHNvbHZlX2FuZChpbnQgeSwgaW50IHgsIGJvb2wgYSk7Cgpib29sIHNvbHZlX29yKGludCB5LCBpbnQgeCkgewogIGlmKHkgPT0gTikgcmV0dXJuIHggPD0gSyB8fCB4ICsgSyA+PSBNOwogIGJvb2wgbXYgPSByYW5kKCkgJiAxOwogIHJldHVybiBzb2x2ZV9hbmQoeSwgeCwgbXYpIHx8IHNvbHZlX2FuZCh5LCB4LCAhbXYpOwp9Cgpib29sIHNvbHZlX2FuZChpbnQgeSwgaW50IHgsIGJvb2wgYSkgewogIGJvb2wgbXYgPSByYW5kKCkgJiAxOwogIHJldHVybiBzb2x2ZV9vcih5ICsgMSwgY2FsYyh5LCB4LCBhLCBtdikpICYmCiAgICAgICAgIHNvbHZlX29yKHkgKyAxLCBjYWxjKHksIHgsIGEsICFtdikpOwp9CgppbnQgbWFpbigpIHsKICBmcmVvcGVuKCJjb3dydW4uaW4iLCAiciIsIHN0ZGluKTsKICBmcmVvcGVuKCJjb3dydW4ub3V0IiwgInciLCBzdGRvdXQpOwoKICBjaW4gPj4gTiA+PiBNID4+IEs7CiAgY2luID4+IFM7CiAgZm9yKGludCBpID0gMDsgaSA8IDggKiBOOyBpKyspIHsKICAgIGNpbiA+PiBBW2ldOwogIH0KCiAgaW50IHggPSAwOwogIGZvcihpbnQgaSA9IDA7IGkgPCBOOyBpKyspIHsKICAgIGlmKHNvbHZlX2FuZChpLCB4LCB0cnVlKSkgewogICAgICBjb3V0IDw8ICdCJzsKICAgICAgeCA9IGNhbGMoaSwgeCwgdHJ1ZSwgU1tpXSA9PSAnQicpOwogICAgfSBlbHNlIHsKICAgICAgY291dCA8PCAnVCc7CiAgICAgIHggPSBjYWxjKGksIHgsIGZhbHNlLCBTW2ldID09ICdCJyk7CiAgICB9CiAgfQogIGNvdXQgPDwgZW5kbDsKfQ==