#include <bits/stdc++.h>
using namespace std;
template <typename T, typename U>
inline void smin(T &a, U b) {
  if (a > b) a = b;
}
template <typename T, typename U>
inline void smax(T &a, U b) {
  if (a < b) a = b;
}
int cnt[100100][2], first[100100], can[100100];
char s[100100];
int main() {
  int n, m;
  cin >> n >> m;
  int tot = 0;
  for (int i = 0; i < n; i++) {
    scanf(" %c %d", s + i, first + i);
    if (s[i] == '-')
      cnt[first[i]][0]++;
    else {
      tot++;
      cnt[first[i]][1]++;
    }
  }
  int crime = 0;
  for (int i = 1; i <= n; i++) {
    if (cnt[i][0] + tot - cnt[i][1] == n - m) can[i] = 1, crime++;
  }
  for (int i = 0; i < n; i++) {
    if (s[i] == '+') {
      if (can[first[i]]) {
        puts(crime == 1 ? "Truth" : "Not defined");
      } else
        puts("Lie");
    } else {
      if (!can[first[i]])
        puts("Truth");
      else
        puts(crime == 1 ? "Lie" : "Not defined");
    }
  }
  return 0;
}
