#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m;
  cin >> n >> m;
  int votenum[100004];
  int vote[2][100004];
  int vote_signed = 0;
  ;
  memset(votenum, 0, sizeof(votenum));
  memset(vote, 0, sizeof(vote));
  for (int i = 0; i < n; i++) {
    char sign;
    int num;
    cin >> sign >> num;
    if (sign == '+') {
      vote_signed++;
      vote[0][num]++;
      votenum[i] = num;
    } else {
      vote[1][num]++;
      votenum[i] = -num;
    }
  }
  vector<int> crim;
  for (int i = 0; i <= n; i++) {
    if (vote_signed - vote[0][i] + vote[1][i] == n - m) {
      crim.push_back(i);
    }
  }
  int crimsize = crim.size();
  for (int i = 0; i < n; i++) {
    if (votenum[i] > 0) {
      if (crimsize == 1 && votenum[i] == crim[0]) {
        cout << "Truth" << endl;
      } else if (find(crim.begin(), crim.end(), votenum[i]) == crim.end()) {
        cout << "Lie" << endl;
      } else {
        cout << "Not defined" << endl;
      }
    } else {
      if (crimsize == 1 && -votenum[i] == crim[0]) {
        cout << "Lie" << endl;
      } else if (find(crim.begin(), crim.end(), -votenum[i]) == crim.end()) {
        cout << "True" << endl;
      } else {
        cout << "Not defined" << endl;
      }
    }
  }
  return 0;
}
