#include <bits/stdc++.h>
using namespace std;
int T[100010], first[100010], canKill[100010], ans = 0;
char flag;
int X, M, N, fle = 0, A[100010];
int main() {
  scanf("%d %d", &N, &M);
  memset(T, 0, sizeof(T));
  memset(first, 0, sizeof(first));
  memset(canKill, 0, sizeof(canKill));
  ans = 0;
  for (int i = 1; i <= N; i++) {
    scanf("%d", &A[i]);
    if (A[i] > 0)
      T[A[i]]++;
    else {
      first[-1 * A[i]]++;
      fle++;
    }
  }
  for (int i = 1; i <= N; i++) {
    if (fle - first[i] + T[i] == M) {
      canKill[i] = 1;
      ans++;
    }
  }
  for (int i = 1; i <= N; i++) {
    if (A[i] > 0) {
      if (canKill[A[i]] == 1) {
        if (ans == 1)
          printf("Truth\n");
        else
          printf("Not defined\n");
      } else {
        printf("Lie\n");
      }
    } else {
      A[i] = A[i] * -1;
      if (canKill[A[i]] == 0) {
        printf("Truth\n");
      } else {
        if (ans == 1)
          printf("Lie\n");
        else
          printf("Not defined\n");
      }
    }
  }
  return 0;
}
