Bytegate 机器是 Bajtazar 的最新发明。它由两个部分组成,用 Bajtazar 充满热情的话来说,“它们根本不可能被分开!”……至少他是这么认为的。他两岁的儿子 Bajtuś 正准备证明他是错的。
该机制的初始状态可以描述为一个 $n \times m$ 的数组,其中填充了字符 A、B 和点。字符 A 对应机制的第一部分,字符 B 对应机制的第二部分,点表示空位:
| B | B | A | A | . |
|---|---|---|---|---|
| . | B | B | A | A |
| A | . | B | B | A |
| A | . | . | B | A |
| A | A | A | A | A |
由于该机制由两个部分组成,数组中至少包含一个字符 A 和至少一个字符 B。此外,机制的两个部分都是连通的,即对于任意两个 A 单元格,都存在一条仅通过其他 A 单元格连接这些单元格的路径,且该路径上任意两个相邻单元格共享一条公共边。B 部分以同样的方式连通。
Bajtuś 通过向不同方向拉动 B 部分来玩这个机器。他的玩法可以描述为一个包含 $q$ 个字母 N、S、E、W 的序列,分别代表连续移动的方向(北、南、东、西)。每次,Bajtuś 都会将组件 B 向选定方向拉动,直到在该方向上继续拉动会导致机制的两个部分重叠。如果 Bajtuś 可以无限期地继续这种移动,我们就说这两个部分已经被分开了。这并不意味着 Bajtuś 在那一刻停止了对机制的摆弄——尽管如此,一旦分开,该机制将永远保持分开状态。请确定 Bajtuś 在玩耍过程中是否真的会将该机制分开。
输入格式
第一行包含测试用例的数量 $z$ ($1 \leqslant z \leqslant 1000$)。接下来是各测试用例的描述。
每个测试用例的第一行包含三个整数 $n, m, q$ ($1 \leqslant n, m \leqslant 10, 1 \leqslant q \leqslant 100$)。
接下来的 $n$ 行描述了机制的初始状态。每一行都是一个长度为 $m$ 的字符串,由字符 A、B 和 . 组成。两个机制组件均非空且连通。
每个测试用例的最后一行包含 $q$ 个属于集合 $\{N, S, E, W\}$ 的字符,描述了 Bajtuś 的移动。
输出格式
对于每个测试用例,如果 Bajtuś 分开了机制,则打印 TAK。否则,打印一个单词 NIE。
样例
样例输入 1
3 5 5 3 BBAA. .BBAA A.BBA A..BA AAAAA WNW 5 5 7 BBAA. .BBAA A.BBA A..BA AAAAA WNWNSEN 7 5 3 ..... .AAA. .A.A. .AB.. .A.A. .AAA. ..... SNE
样例输出 1
NIE TAK NIE
说明
第一个和第三个测试用例中机制的最终状态为:
| B | B | . | . | . | . | . |
|---|---|---|---|---|---|---|
| . | B | B | . | A | A | . |
| . | . | B | B | . | A | A |
| . | . | A | B | . | . | A |
| . | . | A | . | . | . | A |
| . | . | A | A | A | A | A |
| A | A | A |
|---|---|---|
| A | B | A |
| A | . | . |
| A | . | A |
| A | A | A |
在第二个测试用例中,Bajtuś 在第四步将机制分开了。