import java.io.*;
import java.lang.Math;
import java.util.*;

public class Main
{	
	public BufferedReader in;
	public PrintStream out;
	
	public boolean log_enabled = true;
	
	public void test()
	{
		int n = readInt();
		int m = readInt();
		
		int[] a =  new int[n+1];
		
		int[] yes = new int[n+1];
		int[] no = new int[n+1];
		
		Arrays.fill(yes, 0);
		Arrays.fill(no, 0);
		
		int i, no_sum = 0;
		
		for (i=1; i<=n; i++)
		{
			a[i] = readInt();
			
			if (a[i] < 0)
			{
				no[-a[i]] ++;
				no_sum ++;
			}
			else
			{
				yes[a[i]] ++;
			}
		}
		
		for (i=1; i<=n; i++)
		{
			yes[i] += no_sum -  no[i];
		}
		
		boolean[] can_kill = new boolean[n+1];
		int kill_count = 0;
		
		for (i=1; i<=n; i++)
		{
			if (yes[i] == m)
			{
				can_kill[i] = true;
				kill_count ++;
			}
		}
		
		for (i=1; i<=n; i++)
		{
			if (a[i]<0)
			{
				if (!can_kill[-a[i]])
				{
					out.println("Truth");
				}
				else
				{
					out.println(kill_count==1 ? "Lie" : "Not defined");
				}
			}
			else
			{
				if (!can_kill[a[i]])
				{
					out.println("Lie");
				}
				else
				{
					out.println(kill_count==1 ? "Truth" : "Not defined");
				}
			}
		}
	}
    
	public void run()
	{
		try
		{
			in = new BufferedReader(new InputStreamReader(System.in));
			out = System.out;
			
			//in = new BufferedReader(new FileReader("in.txt"));
			//out = new PrintStream(new File("out.txt"));
			
			
		}
		catch (Exception e)
		{
			return;
		}
		
		//while (true)
		{
			//int t = readInt(); for (int i=0; i<t; i++)					
			{
				test();
			}
		}
	}
	
	public static void main(String args[])
	{
		new Main().run();
	}
	
	private StringTokenizer tokenizer = null;
	
	public int readInt() 
	{
		String s = readToken();
		if (s.charAt(0)=='+')
		{
			s = s.substring(1);
		}
		
        return Integer.parseInt(s);
    }
   
    public long readLong() 
	{
        return Long.parseLong(readToken());
    }
   
    public double readDouble() 
	{
        return Double.parseDouble(readToken());
    }
   
	public String readLn()
	{	
		try
		{
			String s;
			while ((s = in.readLine()).length()==0);
			return s;
		}
		catch (Exception e)
		{
			return "";
		}
	}
	
    public String readToken() 
	{
		try
		{
			while (tokenizer == null || !tokenizer.hasMoreTokens()) 
			{
				tokenizer = new StringTokenizer(in.readLine());
			}
			return tokenizer.nextToken();
		}
		catch (Exception e)
		{
			return "";
		}
    }
	
	public int[] readIntArray(int n)
	{
		int[] x = new int[n];
		readIntArray(x, n);
		return x;
	}
	
	public void readIntArray(int[] x, int n)
	{
		for (int i=0; i<n; i++)
		{
			x[i] = readInt();
		}
	}
	
	public void logWrite(String format, Object... args)
	{
		if (!log_enabled)
		{
			return;
		}
		
		out.printf(format, args);
	}
}

