Byteotian 的信息学选手在全国备受尊敬。正因如此,一档名为《Triinformathlon》的电视节目多年来一直非常受欢迎。在今年的比赛中,有 $n$ 名选手(编号从 $1$ 到 $n$)参加了三项信息学学科的角逐(今年是:后缀树的限时实现、SIO2 系统调试以及图灵测试)。每项学科的完整排名均已公布,因此每位选手在各学科中的名次都是已知的。复杂的平局决胜规则确保了没有任何学科出现并列名次。
每位 Byteotian 人都在为某位选手加油,而关于“谁比谁更强”的讨论——尤其是在社交媒体上——往往非常激烈,这已成为一种流行的消遣。由于有三项独立的学科,使得“更强”这一概念并不明确,这让此类讨论变得更加引人入胜。
Byteasar 发现了一个绝佳的机会:开发一款比较选手的应用程序应该会非常受欢迎。为了使比较成为可能,他引入了以下关系:
如果满足以下至少一个条件,则称选手 $a$ 道德上支配选手 $b$: 在三项学科中的至少两项里,$a$ 的排名高于 $b$,或者 存在一名选手 $c$,使得 $a$ 道德上支配 $c$,且 $c$ 道德上支配 $b$。$^\dagger$
Byteasar 的初创公司忙于其他项目,因此将比较算法的实现委托给了你。请编写一个程序,根据所有三项学科的排名,回答 $m$ 个形式为“选手 $a$ 是否在道德上支配选手 $b$?”的查询。
输入格式
标准输入的第一行包含一个整数 $n$ ($n \ge 2$),表示选手的数量。
第二行包含一个由 $1$ 到 $n$ 之间的整数组成的序列,这些整数两两不同,由空格分隔。这些是第一项学科中各选手的排名顺序。第三行和第四行包含类似的序列,分别指定了第二项和第三项学科的排名,格式相同。
第五行包含一个整数 $m$ ($m \ge 1$),表示查询的数量。接下来的 $m$ 行给出了这些查询:第 $i$ 行包含两个整数 $a_i$ 和 $b_i$ ($1 \le a_i, b_i \le n, a_i \neq b_i$),由空格分隔,表示查询“选手 $a_i$ 是否在道德上支配选手 $b_i$?”。
输出格式
输出应包含恰好 $m$ 行:第 $i$ 行应包含一个单词 TAK(波兰语中的“是”),如果第 $i$ 个查询的答案为肯定,或者在相反情况下输出 NIE(波兰语中的“否”)。
样例
输入 1
5 1 2 4 3 5 2 3 5 1 4 3 1 5 2 4 4 2 4 4 2 1 5 5 1
输出 1
TAK TAK TAK NIE
$^\dagger$ 形式上,我们将集合 $M$ 定义为包含所有满足以下条件的序对 $(a, b)$ 的最小(包含关系意义下)集合:在至少两项学科中 $a$ 的排名高于 $b$,并且如果 $(a, c)$ 和 $(c, b)$ 都在 $M$ 中,则 $(a, b)$ 也在 $M$ 中。然后我们称 $a$ 道德上支配 $b$,当且仅当 $(a, b)$ 在 $M$ 中。
说明
样例解释:选手 2 在道德上支配选手 4,因为他在第一项和第三项学科中的排名都更高。另一方面,选手 4 也在道德上支配选手 2,因为他在第二项和第三项学科中排名高于选手 1,而选手 1 在第一项和第二项学科中排名高于选手 2。
选手 1 在道德上支配选手 5,因为他在所有学科中的排名都更高。然而,选手 5 并不在道德上支配选手 1。事实上,选手 3 是唯一一个在至少两项学科中排名低于选手 5 的人,但选手 3 在任何其他学科中都没有在至少两项学科里排名高于其他选手。
子任务
测试集由以下子集组成。在每个子集内,可能包含多个单元测试。
| 子任务 | 数据范围 | 分值 |
|---|---|---|
| 1 | $n, m \le 100$ | 9 |
| 2 | $n \le 300, m \le 100\,000$ | 10 |
| 3 | $n \le 1000, m \le 1\,000\,000$ | 18 |
| 4 | $n \le 100\,000, m \le 10$ | 27 |
| 5 | $n \le 500\,000, m \le 1\,000\,000$ | 36 |