#include <bits/stdc++.h>
int main() {
  int n, m;
  scanf("%d%d", &n, &m);
  std::vector<int> a(n);
  std::map<int, int> did;
  std::map<int, int> didnot;
  int did_total = 0;
  for (int i = 0; i < n; ++i) {
    scanf("%d", &a[i]);
    if (a[i] > 0) {
      did[a[i] - 1]++;
      did_total++;
    } else {
      didnot[-a[i] - 1]++;
    }
  }
  std::set<int> cand;
  for (int i = 0; i < n; ++i) {
    int lied = 0;
    lied += did_total - did[i];
    lied += didnot[i];
    if (lied == n - m) {
      cand.insert(i);
    }
  }
  for (int i = 0; i < n; ++i) {
    bool tr = false;
    bool li = false;
    if (a[i] > 0) {
      if (cand.count(a[i] - 1)) {
        tr = true;
      }
      if (cand.size() - cand.count(a[i] - 1)) {
        li = true;
      }
    } else {
      if (cand.count(-a[i] - 1)) {
        li = true;
      }
      if (cand.size() - cand.count(-a[i] - 1)) {
        tr = true;
      }
    }
    if (tr && li) {
      printf("Not defined\n");
    } else if (tr) {
      printf("Truth\n");
    } else if (li) {
      printf("Lie\n");
    }
  }
  return 0;
}
