#include <bits/stdc++.h>
using namespace std;
const int maxn = 100005;
vector<int> e[maxn], f[maxn];
char st[999], t[maxn];
int c[maxn], N, M, E = 0, F = 0;
int main() {
  scanf("%d%d", &N, &M);
  gets(st);
  for (int i = 1, x; i <= N; ++i) {
    scanf("%c", &t[i]);
    scanf("%d", &x);
    gets(st);
    if (t[i] == '+') {
      e[x].push_back(i);
      ++E;
    } else {
      f[x].push_back(i);
      ++F;
    }
  }
  int G = 0;
  for (int i = 1; i <= N; ++i) {
    if (e[i].size() + F - f[i].size() != M) continue;
    ++G;
    for (int j = 0; j < e[i].size(); ++j) c[e[i][j]]++;
    for (int j = 0; j < f[i].size(); ++j) c[f[i][j]]++;
  }
  if (!G) {
    for (int i = 1; i <= N; ++i) puts("Not defined");
    exit(0);
  }
  for (int i = 1; i <= N; ++i)
    if (t[i] == '+') {
      if (c[i] == G)
        puts("Truth");
      else if (c[i] == 0)
        puts("Lie");
      else
        puts("Not defined");
    } else {
      if (c[i] == G)
        puts("Lie");
      else if (c[i] == 0)
        puts("Truth");
      else
        puts("Not defined");
    }
  return 0;
}
