#include <bits/stdc++.h>
using namespace std;
template <typename T>
inline void read(T& x) {
  T a = 0, b = 1;
  char ch = getchar();
  while (ch != '-' && (ch > '9' || ch < '0')) ch = getchar();
  if (ch == '-') ch = getchar(), b = -1;
  while (ch >= '0' && ch <= '9') a = a * 10 + ch - 48, ch = getchar();
  x = a * b;
}
const int maxn = 1e5;
int n, m, tot, tag, a[maxn + 10], cnt[maxn + 10][2], cri[maxn + 10];
int main() {
  read(n);
  read(m);
  for (int i = 1; i <= n; ++i) {
    read(a[i]);
    ++cnt[abs(a[i])][a[i] > 0];
    if (a[i] < 0) ++tot;
  }
  for (int i = 1; i <= n; ++i)
    if (cnt[i][1] + tot - cnt[i][0] == m) ++tag, cri[i] = 1;
  for (int i = 1; i <= n; ++i)
    if (a[i] > 0) {
      if (cri[a[i]])
        printf("%s\n", tag > 1 ? "Not defined" : "Truth");
      else
        printf("Lie\n");
    } else {
      if (cri[-a[i]])
        printf("%s\n", tag > 1 ? "Not defined" : "Lie");
      else
        printf("Truth\n");
    }
  return 0;
}
