import java.util.Scanner;


public class CF_157D {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		int m = in.nextInt();
		int[] pos = new int[n+1], neg = new int[n+1], stat = new int[n+1];
		int negCount = 0;
		
		// count accusations (pos) and discharges (neg) for each suspect
		for(int i = 1; i <= n; i++) {
			String line = in.next();
			int p = Integer.parseInt(line.substring(1));
			if(line.charAt(0) == '+') {
				pos[p]++;
				stat[i] = p;
			} else {
				neg[p]++;
				negCount++;
				stat[i] = -p;
			}
		}
		
		// check which suspects could have committed the crime
		boolean[] possible = new boolean[n+1];
		int possibleCount = 0;
		for(int i = 1; i <= n; i++) {
			if(negCount - neg[i] + pos[i] == m) {
				possible[i] = true;
				possibleCount++;
			}
		}
		
		// determine result for each suspect
		for(int i = 1; i <= n; i++) {
			int p;
			String res;
			if(stat[i] > 0) {
				p = stat[i];
				if(possible[p] && possibleCount == 1) {
					res = "Truth";
				} else if(possible[p]) {
					res = "Not defined";
				} else {
					res = "Lie";
				}
			} else {
				p = -stat[i];
				if(!possible[p]) {
					res = "Truth";
				} else if(possibleCount > 1) {
					res = "Not defined";
				} else {
					res = "Lie";
				}
			}
			System.out.println(res);
		}
	}
}
