#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m, i;
  cin >> n >> m;
  int arr[n + 1][2];
  for (i = 1; i < n + 1; i++) {
    arr[i][0] = 0;
    arr[i][1] = 0;
  }
  int in[n + 1][2];
  string str;
  char ch;
  int val;
  for (i = 1; i < n + 1; i++) {
    cin >> ch;
    cin >> val;
    in[i][0] = val;
    if (ch == '+') {
      in[i][1] = 0;
    } else {
      in[i][1] = 1;
    }
  }
  for (i = 1; i < n + 1; i++) {
    if (in[i][1] == 0) {
      arr[in[i][0]][0]++;
    } else {
      arr[in[i][0]][1]++;
    }
  }
  set<int> myset;
  int sum = 0;
  for (i = 1; i < n + 1; i++) {
    sum += arr[i][1];
  }
  for (i = 1; i < n + 1; i++) {
    if ((arr[i][0] + sum - arr[i][1]) == m) {
      myset.insert(i);
    }
  }
  for (i = 1; i < n + 1; i++) {
    if (in[i][1] == 0) {
      if (myset.find(in[i][0]) != myset.end()) {
        if (myset.size() == 1) {
          cout << "Truth" << endl;
        } else {
          cout << "Not defined" << endl;
        }
      } else {
        cout << "Lie" << endl;
      }
    } else {
      if (myset.find(in[i][0]) != myset.end()) {
        if (myset.size() == 1) {
          cout << "Lie" << endl;
        } else {
          cout << "Not defined" << endl;
        }
      } else {
        cout << "Truth" << endl;
      }
    }
  }
  return 0;
}
