#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int n, m, allpo, num;
int a[N], cr[N], po[N];
bool tr[N], fa[N], vis[N];
bool check(int x) { return cr[x] + allpo - po[x] == m; }
int main() {
  scanf("%d%d", &n, &m);
  for (register int i = 1; i <= n; ++i) {
    scanf("%d", &a[i]);
    if (a[i] > 0)
      ++cr[a[i]];
    else
      ++po[-a[i]];
  }
  for (register int i = 1; i <= n; ++i) allpo += po[i];
  int flag = 0;
  for (int i = 1; i <= n; ++i)
    if (check(i)) ++flag;
  if ((!flag) || flag == n) {
    for (int i = 1; i <= n; ++i) puts("Not defined");
    return 0;
  }
  for (register int i = 1; i <= n && num <= n; ++i) {
    if (check(i)) {
      for (register int j = 1; j <= n; ++j) {
        if (a[j] == i || (a[j] < 0 && a[j] != -i))
          tr[j] = 1;
        else
          fa[j] = 1;
        if (tr[j] && fa[j] && (!vis[j])) {
          vis[j] = 1;
          ++num;
        }
      }
    } else {
      for (register int j = 1; j <= n; ++j) {
        if (a[j] == -i) tr[j] = 1;
        if (a[j] == i) fa[j] = 1;
        if (tr[j] && fa[j] && (!vis[j])) {
          vis[j] = 1;
          ++num;
        }
      }
    }
  }
  for (register int i = 1; i <= n; ++i) {
    if (tr[i]) {
      if (fa[i])
        puts("Not defined");
      else
        puts("Truth");
    } else {
      if (fa[i])
        puts("Lie");
      else
        puts("Not defined");
    }
  }
  return 0;
}
