编程题
### 问题描述
农夫约翰和小齐为奶牛们设计了一款新的锻炼游戏。奶牛们在一个长度为 $M$($2 \le M \le 1,000,000,000$)的圆形跑道上奔跑,起点相同。游戏分为 $N$($1 \le N \le 14$)轮,每轮使用一副包含 $8N$ 张卡片的牌组,每张卡片上都有一个数字 $X_i$($0 \le X_i < M$)。
每一轮,约翰将顶部的 $8$ 张卡片移入一个单独的牌堆,并选择让小齐玩的是这 $8$ 张卡片的顶部 $4$ 张还是底部 $4$ 张。然后小齐选择是这 $4$ 张卡片的顶部 $2$ 张还是底部 $2$ 张。之后,约翰喊出顶部卡片上的数字 $X_{\text{top}}$,奶牛们将跑 $R \times X_{\text{top}}$ 的距离,其中 $R$ 是奶牛们目前已经跑过的总距离。然后小齐喊出底部卡片上的数字 $X_{\text{bottom}}$,奶牛们将再次奔跑 $X_{\text{bottom}}$ 的距离。
约翰担心锻炼后的奶牛们会太累,以至于无法回到起点,他认为如果奶牛们最终距离起点的距离超过 $K$($0 \le K \le \lfloor \frac{M}{2} \rfloor$),奶牛们将无法回家。
可以保证,如果约翰正确地玩牌,无论小齐接下来做出什么选择,奶牛们总是能回家。对于每一轮,你的任务是确定约翰应该选择牌组的哪一半,以确保无论小齐如何选择,约翰都能成功将奶牛们带回家。
### 输入格式
- 第 $1$ 行:三个空格分隔的整数 $N, M, K$。
- 第 $2$ 行:一个长度为 $N$ 的字符串。如果第 $i$ 个字符是 $T$,表示小齐在第 $i$ 轮选择顶部 $2$ 张卡片;否则,如果第 $i$ 个字符是 $B$,表示小齐在第 $i$ 轮选择底部 $2$ 张卡片。
- 第 $3$ 行到第 $2+N$ 行:每行包含 $8$ 个整数,表示从顶部到底部的 $8$ 张卡片的数字。
### 输出格式
- 第 $1$ 行:一个长度为 $N$ 的字符串,其中第 $i$ 个字符为 $T$ 表示约翰在第 $i$ 轮选择顶部 $4$ 张卡片,$B$ 表示约翰在第 $i$ 轮选择底部 $4$ 张卡片。如果有多种方法使得奶牛们回家,选择字典序最小的字符串。
### 样例输入
```
TT
1 0 0 0 0 0 0 1
0 1 1 1 0 0 1 0
```
### 样例输出
```
TB
```
### 评测数据规模
$1 \le N \le 14, 2 \le M \le 1,000,000,000, 0 \le K \le \lfloor \frac{M}{2} \rfloor$,$0 \le X_i < M$。