
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;

public class D {
    public static void main(String args[]) throws IOException {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        String s = in.readLine();
        int n = Integer.parseInt(s.substring(0,s.indexOf(" ")));
        int m = Integer.parseInt(s.substring(s.indexOf(" ")+1));
        int good[] = new int [n];
        int bad[] = new int [n];
        int say[] = new int [n];
        int goodCount = 0;
        for (int i=0;i<n;i++) {
            s = in.readLine();
            int x = Integer.parseInt(s.substring(1)); 
            if (s.charAt(0)=='-') {
                good[x-1]++;
                say[i] = -x;
                goodCount++;
            } else {
                bad[x-1]++;
                say[i] = x;
                
            }
        }
        boolean canBe[] = new boolean[n];
        int CANBE = 0;
        for (int i=0;i<n;i++) 
            if (goodCount - good[i] + bad[i] == m) {
                canBe[i] = true;
                CANBE++;
            }
            
        for (int i=0;i<n;i++) {
            int x = say[i];
            int ans = -1;
            if (x>0) {
                if (canBe[x-1]) {
                    if (CANBE==1) ans=1; else ans = 2;
                } else {
                    ans = 0;
                }
            } else {
                if (!canBe[-x -1]) {
                    ans = 1;
                } else {
                    if (CANBE==1) ans = 0; else ans = 2;
                }
            }
            if (ans==0) System.out.println("Lie");
            if (ans==1) System.out.println("Truth");
            if (ans==2) System.out.println("Not defined");
        }
    }
}
