#include <bits/stdc++.h>
using namespace std;
int answers[100001], n, m;
int is_killer[100001], is_notkiller[100001];
int res[100001];
vector<int> needupd, needupd2;
int main() {
  memset(is_killer, 0, sizeof(is_killer));
  memset(is_notkiller, 0, sizeof(is_notkiller));
  memset(res, 0, sizeof(res));
  scanf("%d%d\n", &n, &m);
  int is_k = 0, is_nk = 0;
  for (int i = 0; i < n; i++) {
    int a;
    char c;
    scanf("%c%d\n", &c, &a);
    answers[i] = a - 1;
    if (c == '-') {
      is_notkiller[a - 1]++;
      is_nk++;
    } else {
      is_killer[a - 1]++;
      is_k++;
    }
    needupd.push_back(i);
  }
  for (int i = 0; i < n; i++) {
    int truth = is_killer[i] + is_nk - is_notkiller[i];
    if (truth == m) {
      for (int j = 0; j < n; j++) {
        if (answers[j] < 0) {
          if (-answers[j] != i) {
            res[j] |= 2;
          } else {
            res[j] |= 1;
          }
        } else {
          if (answers[j] == i) {
            res[j] |= 2;
          } else {
            res[j] |= 1;
          }
        }
        if (res[j] != 3) {
          needupd2.push_back(j);
        }
      }
      needupd = needupd2;
      needupd2.clear();
    }
  }
  for (int i = 0; i < n; i++) {
    if (res[i] == 2) {
      puts("Truth");
    } else if (res[i] == 1) {
      puts("Lie");
    } else {
      puts("Not defined");
    }
  }
  return 0;
}
