#include <bits/stdc++.h>
using namespace std;
void err(istringstream &iss) {}
template <typename T, typename... Args>
void err(istringstream &iss, const T &varVal, const Args &...args) {
  string varName;
  iss >> varName;
  if (varName.back() == ',') varName.back() = ' ';
  cout << varName << " = " << varVal << "; ", err(iss, args...);
}
int n, m, K, T, Q, cn;
int a[100005], cntFor[100005], cntAgainst[100005], totalAgainst, cntSuspect;
bool suspect[100005];
char ans[][20] = {"Not defined", "Truth", "Lie"};
int main() {
  cin.tie(NULL);
  cout.tie(NULL);
  scanf("%d%d", &n, &m);
  for (int i = 0; i < n; i++) {
    scanf("%d", &a[i]);
    if (a[i] > 0)
      cntFor[a[i]]++;
    else
      cntAgainst[-a[i]]++, totalAgainst++;
  }
  for (int i = 1; i <= n; i++) {
    if (totalAgainst - cntAgainst[i] + cntFor[i] == m)
      suspect[i] = 1, cntSuspect++;
  }
  for (int i = 0; i < n; i++) {
    if (a[i] > 0) {
      if (suspect[a[i]])
        printf("%s\n", ans[cntSuspect == 1]);
      else
        printf("%s\n", ans[2]);
    } else {
      if (suspect[-a[i]] && cntSuspect == 1)
        printf("%s\n", ans[2]);
      else
        printf("%s\n", ans[!suspect[-a[i]]]);
    }
  }
  return 0;
}
