#include <bits/stdc++.h>
using namespace std;
int cnt[100100][2];
struct node {
  bool f;
  int id;
} p[100100];
bool mark[100100];
int main() {
  int n, m, a, b, t, tm, r;
  int c[2];
  char ch;
  while (~scanf("%d%d", &n, &m)) {
    memset(cnt, 0, sizeof(cnt));
    c[0] = c[1] = 0;
    for (int i = 0; i < n; i++) {
      scanf(" %c%d", &ch, &a);
      p[i].id = a;
      p[i].f = (ch == '+');
      if (ch == '+') {
        c[1]++;
        cnt[a][1]++;
      } else {
        c[0]++;
        cnt[a][0]++;
      }
    }
    memset(mark, false, sizeof(mark));
    int u = 0, v;
    for (int i = 1; i <= n; i++) {
      t = cnt[i][1] + c[0] - cnt[i][0];
      if (t == m) {
        v = i;
        u++;
        mark[i] = true;
      }
    }
    for (int i = 0; i < n; i++) {
      r = 0;
      a = p[i].id;
      b = p[i].f;
      if (b == 0) {
        if (!mark[a])
          puts("Truth");
        else {
          if (u == 1)
            puts("Lie");
          else
            puts("Not defined");
        }
      } else {
        if (!mark[a])
          puts("Lie");
        else {
          if (u == 1)
            puts("Truth");
          else
            puts("Not defined");
        }
      }
    }
  }
  return 0;
}
