import java.util.*;
import java.io.*;

public class Main {
  BufferedReader in;
  PrintWriter out;
  StringTokenizer st;

  class Person {
    List<Integer> accusers = new ArrayList<Integer>();
    List<Integer> defenders = new ArrayList<Integer>();
  }

  public void solve() throws IOException {
    int n = readInt();
    int m = readInt();
    Person[] people = new Person[n+1];
    int fingers_pointed = 0;
    for (int i = 1; i <= n; i++) {
      people[i] = new Person();
    }
    for (int i = 1; i <= n; i++) {
      String test = read();
      if (test.charAt(0) == '+') {
        people[Integer.parseInt(test.substring(1))].accusers.add(i);
        fingers_pointed++;
      } else {
        people[Integer.parseInt(test.substring(1))].defenders.add(i);
      }
    }
    List<Integer> candidates = new ArrayList<Integer>();
    TreeSet<Integer> scum_set = new TreeSet<Integer>();
    for (int i = 1; i <= n; i++) {
      int liars = people[i].defenders.size() + (fingers_pointed - people[i].accusers.size());
      int those_who_tell_the_truth = n - liars;
      if (those_who_tell_the_truth  == m) {
        candidates.add(i);
        scum_set.add(i);
      }
    }
    int[] status = new int[n+1];
    final int LIE = 1;
    final int TRUTH = 2;
    final int NOT_SET = 0;
    for (int i = 1; i <= n; i++) {
      for (int accuser : people[i].accusers) {
        if (!scum_set.contains(i)) {
          status[accuser] = LIE;
        }
      }
      for (int defender : people[i].defenders) {
        if (!scum_set.contains(i)) {
          status[defender] = TRUTH;
        }
      }
    }
    if (scum_set.size() == 1) {
      int scum = scum_set.first();
      for (int accuser : people[scum].accusers) {
        status[accuser] = TRUTH;
      }
      for (int defender : people[scum].defenders) {
        status[defender] = LIE;
      }
    }
    for (int i = 1; i <= n; i++) {
      if (status[i] == LIE) {
        out.println("Lie");
      } else if (status[i] == TRUTH) {
        out.println("Truth");
      } else {
        out.println("Not defined");
      }
    }
  }

  public void run() throws IOException {
    in = new BufferedReader(new InputStreamReader(System.in));
    out = new PrintWriter(System.out);
    solve();
    out.close();
    in.close();
  }

  public static void main(String[] args) throws IOException {
    new Main().run();
  }

  String read() throws IOException {
    while (st == null || !st.hasMoreTokens()) {
      st = new StringTokenizer(in.readLine());
    }
    return st.nextToken();
  }

  public int readInt() throws IOException {
    return Integer.parseInt(read());
  }
}

