#include <bits/stdc++.h>
struct chrime {
  int x, t;
} cs[100001];
int chrim[100001], nchrim[100001], tag[100001];
int main() {
  int n, m, x, ttl, i, num;
  char c;
  while (scanf("%d%d", &n, &m) != EOF) {
    memset(chrim, 0, sizeof(chrim));
    memset(tag, 0, sizeof(tag));
    memset(nchrim, 0, sizeof(nchrim));
    memset(tag, 0, sizeof(tag));
    for (ttl = 0, i = 1; i <= n; i++) {
      getchar();
      c = getchar();
      scanf("%d", &x);
      cs[i].x = x;
      if (c == '+')
        chrim[x]++, cs[i].t = 1;
      else
        nchrim[x]++, ttl++, cs[i].t = 0;
    }
    for (num = 0, i = 1; i <= n; i++) {
      if (ttl - nchrim[i] + chrim[i] == m) tag[i] = 1, num++;
    }
    for (i = 1; i <= n; i++)
      if (cs[i].t == 1) {
        if (tag[cs[i].x] == 0)
          printf("Lie\n");
        else if (num != 1)
          printf("Not defined\n");
        else
          printf("Truth\n");
      } else {
        if (tag[cs[i].x] == 0)
          printf("Truth\n");
        else if (num != 1)
          printf("Not defined\n");
        else
          printf("Lie\n");
      }
  }
  return 0;
}
