#include <bits/stdc++.h>
using namespace std;
int g[100100];
int suff[100100];
char S[1024];
set<int> crim;
char T[100100];
int R[100100], neg[100100];
int main() {
  int n, m, tot = 0;
  scanf("%d", &n);
  scanf("%d", &m);
  for (int i = 0; i < n; i++) {
    scanf("%s", S);
    int l = strlen(S);
    char sign = S[0];
    int pos = 1, num = 0;
    while (pos < l) {
      num = num * 10 + S[pos] - '0';
      pos++;
    }
    num--;
    if (S[0] == '+')
      g[num]++;
    else {
      tot++;
      neg[num]++;
    }
    T[i] = S[0];
    R[i] = num;
  }
  for (int i = 0; i < n; i++) {
    g[i] += tot;
    g[i] -= neg[i];
  }
  for (int i = 0; i < n; i++) {
    if (g[i] == m) crim.insert(i);
  }
  int prob = crim.size();
  for (int i = 0; i < n; i++) {
    if (T[i] == '+') {
      if (crim.find(R[i]) == crim.end()) {
        puts("Lie");
      } else {
        if (prob == 1)
          puts("Truth");
        else
          puts("Not defined");
      }
    } else {
      if (crim.find(R[i]) == crim.end()) {
        puts("Truth");
      } else {
        if (prob == 1)
          puts("Lie");
        else
          puts("Not defined");
      }
    }
  }
  return 0;
}
