#include <bits/stdc++.h>
using namespace std;
int a[100001], b[100001];
int main() {
  ios::sync_with_stdio(false);
  int n, m;
  cin >> n >> m;
  int tot = 0;
  vector<pair<char, int> > A(n + 1);
  for (int i = 1; i <= n; ++i) {
    cin >> A[i].first >> A[i].second;
    if (A[i].first == '+')
      ++a[A[i].second];
    else {
      ++tot;
      ++b[A[i].second];
    }
  }
  set<int> ans;
  for (int i = 1; i <= n; ++i) {
    if (a[i] + tot - b[i] == m) {
      ans.insert(i);
    }
  }
  if (ans.size() != 1) {
    for (int i = 1; i <= n; ++i) {
      if (A[i].first == '+') {
        if (ans.find(A[i].second) != ans.end())
          cout << "Not defined" << endl;
        else
          cout << "Lie" << endl;
      } else {
        if (tot - b[A[i].second] + a[A[i].second] < m)
          cout << "Truth" << endl;
        else
          cout << "Not defined" << endl;
      }
    }
  } else {
    for (int i = 1; i <= n; ++i) {
      if (A[i].first == '+') {
        if (ans.find(A[i].second) != ans.end())
          cout << "Truth" << endl;
        else
          cout << "Lie" << endl;
      } else {
        if (ans.find(A[i].second) == ans.end())
          cout << "Truth" << endl;
        else
          cout << "Lie" << endl;
      }
    }
  }
  return 0;
}
