#include <bits/stdc++.h>
using std::cin;
using std::cout;
int main() {
  int n, m;
  cin >> n;
  cin >> m;
  std::vector<std::pair<bool, int> > people;
  people.resize(n);
  std::vector<std::pair<int, int> > named;
  named.resize(n);
  int blames_num = 0;
  int excuses_num = 0;
  int current_person;
  std::string statement;
  for (int i = 0; i < n; i++) {
    cin >> statement;
    current_person = atoi(statement.substr(1).c_str()) - 1;
    if (statement[0] == '+') {
      people[i].first = true;
      named[current_person].first++;
      blames_num++;
    } else {
      people[i].first = false;
      named[current_person].second++;
      excuses_num++;
    }
    people[i].second = current_person;
  }
  std::vector<bool> is_suspect;
  is_suspect.resize(n);
  int suspects_num = 0;
  for (int i = 0; i < n; i++) {
    if (named[i].first + excuses_num - named[i].second == m) {
      is_suspect[i] = true;
      suspects_num++;
    }
  }
  for (int i = 0; i < n; i++) {
    if (is_suspect[people[i].second]) {
      if ((suspects_num == 1) && people[i].first)
        cout << "Truth" << std::endl;
      else if ((suspects_num == 1) && !people[i].first)
        cout << "Lie" << std::endl;
      else if (suspects_num > 1)
        cout << "Not defined" << std::endl;
    } else {
      if (people[i].first)
        cout << "Lie" << std::endl;
      else
        cout << "Truth" << std::endl;
    }
  }
  return 0;
}
