import java.util.*; import java.text.*; import java.io.BufferedReader;import java.math.*; import java.util.regex.*; import java.awt.geom.*; import static java.lang.Math.*; import static java.lang.Character.*; import static java.lang.Integer.*; import static java.lang.Double.*; import static java.lang.Long.*; import static java.lang.System.*; import static java.util.Arrays.*;

import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;

public class D {
    static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    static PrintStream out = System.out;

    static int n,m;
    static int[] a, b, c;
	static void readInput() throws IOException {
		int[]x = parseArrInt(in.readLine());
		n = x[0];
		m = x[1];
		a = new int[n];
		b = new int[n];
		c = new int[n];
		for (int i = 0; i < n; i++) {
			String s = in.readLine();
			a[i] = new Integer (s.substring(1));
			if (s.startsWith("-")) a[i] *=-1;
		}
	}

	static void process() {
		int minus = 0;
		for (int i = 0; i < n; i++) {
			if (a[i] > 0) {
				int u = a[i]-1;
				b[u] ++;
			} else {
				int u = -a[i]-1;
				b[u] --;
				minus ++;
			}
		}
		HashSet<Integer> suspects = new HashSet<Integer>();
		for (int i = 0; i < n; i++) {
			int truth = b[i] + minus;
			if (truth == m) suspects.add(i);
		}
		debug(suspects);
		int k = suspects.size();
		for (int i = 0; i < n; i++) {
			if (a[i] > 0) {
				int u = a[i]-1;
				if (suspects.contains(u)) {
					if(k==1) System.out.println("Truth");
					else System.out.println("Not defined");
				} else System.out.println("Lie");
			} else {
				int u = -a[i]-1;
				if (!suspects.contains(u)) System.out.println("Truth");
				else {
					if (k==1) System.out.println("Lie");
					else System.out.println("Not defined");
				}
			}
		}
	}

	public static void main(String[] args) throws IOException {
		readInput();
		process();
	}

	public static void debug(Object...os) { 
		System.err.println(Arrays.deepToString(os));
	} 
	static int[] parseArrInt(String s) {
		StringTokenizer st = new StringTokenizer(s);
		int count = 0;
		int[] temp = new int[100], res;
		while (st.hasMoreTokens()) {
			temp[count++] = Integer.parseInt(st.nextToken());
		}
		res = new int[count];
		for (int i = 0; i < count; i++) {
			res[i] = temp[i];
		}
		return (res);
	}

}

/*
4 0
+2
-3
+4
-3

4 3
+1
+2
-3
-4

*/
