#include <bits/stdc++.h>
using namespace std;
const int maxn = 100010;
int hash1[maxn], hash2[maxn];
char str[maxn];
int x[maxn];
int n, m, tmp1, tmp2;
int main() {
  int cnt = 0;
  memset(hash1, 0, sizeof(hash1));
  memset(hash2, 0, sizeof(hash2));
  cin >> n >> m;
  tmp1 = 0;
  tmp2 = 0;
  for (int i = 1; i <= n; ++i) {
    cin >> str[i] >> x[i];
    if (str[i] == '+') {
      hash1[x[i]]++;
      tmp1++;
    }
    if (str[i] == '-') {
      hash2[x[i]]++;
      tmp2++;
    }
  }
  for (int i = 1; i <= n; ++i) {
    if (hash1[i]) {
      if (hash1[i] + (tmp2 - hash2[i]) == m) {
        cnt++;
      }
    }
  }
  if (cnt > 0) {
    for (int i = 1; i <= n; ++i) {
      if (str[i] == '+' && hash1[x[i]] + (tmp2 - hash2[x[i]]) == m) {
        if (cnt == 1) {
          printf("Truth\n");
        } else {
          printf("Not defined\n");
        }
        continue;
      }
      if (str[i] == '+') {
        printf("Lie\n");
        continue;
      }
      if (str[i] == '-' && hash1[x[i]] + (tmp2 - hash2[x[i]]) == m) {
        if (cnt == 1) {
          printf("Lie\n");
        } else {
          printf("Not defined\n");
        }
        continue;
      }
      if (str[i] == '-') {
        printf("Truth\n");
      }
    }
  } else {
    for (int i = 1; i <= n; ++i) {
      if (str[i] == '-') {
        printf("Truth\n");
      } else {
        printf("Lie\n");
      }
    }
  }
  return 0;
}
