有 $n$ 名参赛者参加一场体育锦标赛,每名参赛者代表不同的国家。此外,每个参赛国家都派出了体育记者,负责报道其代表在排名中的位置。不幸的是,一些记者因为过于激动,忘记了他们的国家冠军获得了哪个名次;在这种情况下,他们会宣布两个可能的名次。
根据记者的报告,判断他们是否能唯一确定排名(排名中没有并列名次)。如果可以,请给出这个唯一的排名;否则,请给出可能的排名总数。
输入格式
标准输入的第一行包含一个正整数 $n$,表示参赛国家的数量。
接下来的 $n$ 行包含报告,第 $i$ 行给出第 $i$ 个国家记者的报告。如果记者确定其代表的名次,报告由字母 T 后跟一个整数 $a_i$ ($1 \le a_i \le n$) 组成,表示第 $i$ 名参赛者的名次。如果记者不确定,报告由字母 N 后跟两个不同的整数 $a_{i,1}$ 和 $a_{i,2}$ ($1 \le a_{i,j} \le n$) 组成,表示第 $i$ 名参赛者的两个可能名次。
输出格式
如果记者的报告能唯一确定排名,则标准输出的第一行应包含单词 TAK(波兰语中的“是”)。在这种情况下,接下来的 $n$ 行应描述排名情况如下:第 $i$ 行应包含一个数字,等于第 $i$ 名参赛者的名次。
如果关系存在矛盾或排名不唯一,则标准输出的第一行应包含单词 NIE(波兰语中的“否”),第二行应包含可能的排名总数,对 $1\,000\,000\,007$ 取模。
样例
输入 1
3 N 2 3 T 3 N 2 1
输出 1
TAK 2 3 1
输入 2
3 N 2 1 T 3 N 2 1
输出 2
NIE 2
说明
样例测试:
1ocen: $n = 5$,每位记者都不确定,且报告存在矛盾;
2ocen: $n = 10$,每位记者都不确定,且有 32 种可能的排名;
3ocen: $n = 1\,000\,000$,每位记者都确定($a_i = i$),答案为 TAK。
子任务
测试集由以下子集组成。在每个子集内,可能有多个测试组。
| 子集 | 属性 | 分数 |
|---|---|---|
| 1 | $n \le 10$ | 20 |
| 2 | $n \le 2000$ | 30 |
| 3 | $n \le 1\,000\,000$ 且存在唯一排名 | 20 |
| 4 | $n \le 1\,000\,000$ | 30 |