#3473. 嫌疑人

嫌疑人

题目描述

Sherlock Holmes 在调查一桩案件时锁定了 nn 名嫌疑人。他确信其中恰好有一人作案。为了找出真凶,侦探把嫌疑人排成一排并从 1 到 nn 编号,然后逐个询问:"是谁犯的案?" 第 ii 号嫌疑人的回答要么是"作案的是第 aia_i 号嫌疑人",要么是"第 aia_i 号嫌疑人没有作案"。嫌疑人也可以指认自己(ai=ia_i = i)。

Sherlock Holmes 确切知道恰好有 mm 个回答是实话,其余回答都是谎言。现在请帮他判断:哪些嫌疑人说了谎,哪些说了实话?

输入格式

第一行包含两个整数 nn 和 mm(1≤n≤1051 \le n \le 10^5,0≤m≤n0 \le m \le n),分别表示嫌疑人总数和说了真话的人数。接下来 nn 行是嫌疑人的回答:第 ii 行若是 "+aia_i"(不含引号),表示第 ii 号嫌疑人说作案者是第 aia_i 号;若是 "-aia_i"(不含引号),表示第 ii 号嫌疑人说第 aia_i 号没有作案(aia_i 是整数,1≤ai≤n1 \le a_i \le n)。

保证至少存在一个嫌疑人,使得若他作案,则恰好有 mm 个人说了真话。

输出格式

输出 nn 行。第 ii 行:若第 ii 号嫌疑人一定说了实话,输出 Truth;若他一定说谎,输出 Lie;若取决于谁是罪犯、既可能说真话也可能说谎,输出 Not defined。

1 1
+1
Truth
3 2
-1
-2
-3
Not defined
Not defined
Not defined
4 1
+2
-3
+4
-1
Lie
Not defined
Lie
Not defined