#include <bits/stdc++.h>
using namespace std;
map<int, int> accused;
map<int, int> deffended;
vector<pair<int, int> > answers;
int guilty = 0;
int resp[100000 + 1];
int totDef = 0;
set<int> possibleGuiltys;
int main() {
  memset(resp, 0, sizeof(resp));
  int n, m;
  cin >> n;
  cin >> m;
  cerr << endl;
  for (int i = 0; i < n; ++i) {
    int in;
    cin >> in;
    int idx = abs(in);
    int a = in / idx;
    answers.push_back(make_pair(a, idx));
    if (a > 0) {
      accused[idx]++;
      if (accused[idx] == m + 1) {
        cerr << "Too many accusations on player " << idx
             << ". He must be inocent" << endl;
        resp[idx] = 1;
      } else {
        possibleGuiltys.insert(idx);
      }
    } else {
      deffended[idx]++;
      totDef++;
      if (deffended[idx] == m + 1) {
        assert(guilty == 0);
        guilty = idx;
      }
    }
  }
  if (accused.size() == 1) {
    guilty = (*(accused.begin())).first;
  }
  if (guilty == 0) {
    for (int i = 1; i <= n; ++i) {
      cerr << accused[i] + deffended[i] << " sums and had" << resp[i] << endl;
      if (accused[i] + totDef - deffended[i] != m) {
        cerr << accused[i] << " " << totDef << " " << deffended[i] << " = "
             << accused[i] + totDef - deffended[i] << ". He must be inocent"
             << endl;
        resp[i] = 1;
      }
    }
  } else {
    cerr << "Already know guilty =" << guilty << endl;
  }
  cerr << "print output" << endl;
  for (int i = 0; i < n; ++i) {
    int a = answers[i].first;
    int idx = answers[i].second;
    if (a > 0) {
      if (idx == guilty) {
        cout << "Truth" << endl;
      } else if (resp[idx] == 1 || (guilty && guilty != idx)) {
        cout << "Lie" << endl;
      } else {
        cout << "Not defined" << endl;
      }
    } else {
      if (idx == guilty) {
        cout << "Lie" << endl;
      } else if (resp[idx] == 1 || (guilty && guilty != idx) ||
                 (possibleGuiltys.find(idx) == possibleGuiltys.end() &&
                  possibleGuiltys.size())) {
        cerr << resp[idx] << " guilty=" << guilty << " defended " << idx
             << endl;
        cout << "Truth" << endl;
      } else {
        cout << "Not defined" << endl;
      }
    }
  }
  return 0;
}
