#include<bits/stdc++.h>
using namespace std;
const int maxn=15;
mt19937 rnd(time(0));
int n,m,K;
int a[maxn+5][10];
char s[maxn+5];
inline int Calc(int st,int x,int c,int t){
return ((a[st][(c<<2)|(t<<1)]+1ll)*x
+a[st][(c<<2)|(t<<1)|1])%m;
}
bool Check(int st,int x,int c){
int t=rnd()&1;
if(st>(n-1)<<1) return (x<=K)||(-x+m<=K);
if(st&1) return Check(st+1,x,t)||Check(st+1,x,!t);
else{
return Check(st+1,Calc(st>>1,x,c,t),t)
&&Check(st+1,Calc(st>>1,x,c,!t),!t);
}
}
signed main(){
scanf("%d%d%d",&n,&m,&K);
scanf("%s",s);
for(int i=0;i<n;i++)
for(int j=0;j<8;j++)
scanf("%d",&a[i][j]);
int x=0;
for(int i=0;i<n;i++){
if(Check(i<<1,x,1)){
putchar('B');
x=Calc(i,x,1,s[i]=='B');
}
else{
putchar('T');
x=Calc(i,x,0,s[i]=='B');
}
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgaW50IG1heG49MTU7Cm10MTk5Mzcgcm5kKHRpbWUoMCkpOwppbnQgbixtLEs7CmludCBhW21heG4rNV1bMTBdOwpjaGFyIHNbbWF4bis1XTsKaW5saW5lIGludCBDYWxjKGludCBzdCxpbnQgeCxpbnQgYyxpbnQgdCl7CglyZXR1cm4gKChhW3N0XVsoYzw8Mil8KHQ8PDEpXSsxbGwpKngKCQkrYVtzdF1bKGM8PDIpfCh0PDwxKXwxXSklbTsKfQpib29sIENoZWNrKGludCBzdCxpbnQgeCxpbnQgYyl7CglpbnQgdD1ybmQoKSYxOwoJaWYoc3Q+KG4tMSk8PDEpIHJldHVybiAoeDw9Syl8fCgteCttPD1LKTsKCWlmKHN0JjEpIHJldHVybiBDaGVjayhzdCsxLHgsdCl8fENoZWNrKHN0KzEseCwhdCk7CgllbHNlewoJCXJldHVybiBDaGVjayhzdCsxLENhbGMoc3Q+PjEseCxjLHQpLHQpCgkJCSYmQ2hlY2soc3QrMSxDYWxjKHN0Pj4xLHgsYywhdCksIXQpOwoJfQp9CnNpZ25lZCBtYWluKCl7CglzY2FuZigiJWQlZCVkIiwmbiwmbSwmSyk7CglzY2FuZigiJXMiLHMpOwoJZm9yKGludCBpPTA7aTxuO2krKykKCQlmb3IoaW50IGo9MDtqPDg7aisrKQoJCQlzY2FuZigiJWQiLCZhW2ldW2pdKTsKCWludCB4PTA7Cglmb3IoaW50IGk9MDtpPG47aSsrKXsKCQlpZihDaGVjayhpPDwxLHgsMSkpewoJCQlwdXRjaGFyKCdCJyk7CgkJCXg9Q2FsYyhpLHgsMSxzW2ldPT0nQicpOwoJCX0KCQllbHNlewoJCQlwdXRjaGFyKCdUJyk7CgkJCXg9Q2FsYyhpLHgsMCxzW2ldPT0nQicpOwoJCX0KCX0KCXJldHVybiAwOwp9