#include <bits/stdc++.h>
using namespace std;
char s[100009];
int a[100009], no[100009], yes[100009], dif[100009], ttl_no, ttl_yes, n, m;
char res[100009];
int ans;
int bs(int num) {
  int strt, end, mid;
  strt = 1;
  end = n;
  while (strt < end - 1) {
    mid = (strt + end) / 2;
    if (dif[mid] > num)
      end = mid;
    else if (dif[mid] < num)
      strt = mid;
    else
      return mid;
  }
  if (dif[strt] == num) return strt;
  if (dif[end] == num) return end;
  return -1;
}
bool f_y(int i) {
  if (ttl_yes == 0) return false;
  if (yes[a[i]] + ttl_no - no[a[i]] == m) return true;
  return false;
}
bool f_n(int i) {
  if (ttl_no == 0) return false;
  int j;
  if (ttl_no == m)
    return true;
  else {
    j = bs(m - ttl_no);
    if (j > 0) {
      if (j == a[i]) {
        if (dif[j - 1] == dif[j] || dif[j + 1] == dif[j]) return true;
      } else
        return true;
      ;
    }
  }
  return false;
}
int main() {
  int i, j;
  scanf("%d %d", &n, &m);
  for (i = 1; i <= n; i++) {
    scanf(" %c%d", &s[i], &a[i]);
    if (s[i] == '+') {
      yes[a[i]]++;
      ttl_yes++;
    } else {
      no[a[i]]++;
      ttl_no++;
    }
  }
  for (i = 1; i <= n; i++) dif[i] = yes[i] - no[i];
  sort(dif + 1, dif + n + 1);
  for (i = 1; i <= n && m; i++) {
    if (s[i] == '+') {
      if (f_y(i)) {
        if (f_n(i))
          res[i] = 2;
        else
          res[i] = 1;
      }
    } else if (s[i] == '-') {
      if (f_n(i)) {
        if (f_y(i))
          res[i] = 2;
        else
          res[i] = 1;
      }
    }
  }
  for (i = 1; i <= n; i++) {
    if (res[i] == 2)
      printf("Not defined\n");
    else if (res[i] == 1)
      printf("Truth\n");
    else
      printf("Lie\n");
  }
  return 0;
}
