#include <bits/stdc++.h>
using namespace std;
int n;
int m;
int a[100010];
int sumArc;
int sumDef;
int arc[100010];
int def[100010];
set<int> sus;
int main() {
  cin >> n >> m;
  memset(arc, 0, sizeof(arc));
  memset(def, 0, sizeof(def));
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
    if (a[i] > 0) {
      arc[a[i]] += 1;
    }
    if (a[i] < 0) {
      def[-a[i]] += 1;
    }
  }
  sumArc = 0;
  sumDef = 0;
  for (int i = 1; i <= n; i++) {
    sumArc += arc[i];
    sumDef += def[i];
  }
  sus.clear();
  for (int i = 1; i <= n; i++) {
    int remArc = sumArc - arc[i];
    int remDef = sumDef - def[i];
    int d = remDef + arc[i];
    if (d == m) {
      sus.insert(i);
    }
  }
  for (int i = 1; i <= n; i++) {
    if (a[i] > 0) {
      if (sus.find(a[i]) == sus.end()) {
        cout << "Lie" << endl;
      } else {
        if (sus.size() == 1) {
          cout << "Truth" << endl;
        } else {
          cout << "Not defined" << endl;
        }
      }
    }
    if (a[i] < 0) {
      if (sus.find(-a[i]) == sus.end()) {
        cout << "Truth" << endl;
      } else {
        if (sus.size() == 1) {
          cout << "Lie" << endl;
        } else {
          cout << "Not defined" << endl;
        }
      }
    }
  }
  return 0;
}
