#include <bits/stdc++.h>
using namespace std;
int dp[2][100100];
int visit[100100];
int v[100100];
int main() {
  int i, j;
  int n, m;
  while (scanf("%d %d", &n, &m) != EOF) {
    memset(dp, 0, sizeof(dp));
    for (i = 1; i <= n; i++) {
      scanf("%d", &v[i]);
      if (v[i] < 0) {
        dp[0][-v[i]]++;
        dp[0][0]++;
      } else {
        dp[1][v[i]]++;
        dp[1][0]++;
      }
    }
    memset(visit, 0, sizeof(visit));
    int flag = 0;
    for (i = 1; i <= n; i++) {
      if (dp[1][i] + dp[0][0] - dp[0][i] == m) {
        visit[i] += 1;
        flag++;
      }
    }
    for (i = 1; i <= n; i++) {
      int now = v[i];
      if (now < 0) now = 0 - now;
      if (v[i] > 0) {
        if (visit[v[i]] != 1)
          printf("Lie\n");
        else if (flag == 1)
          printf("Truth\n");
        else
          printf("Not defined\n");
      } else {
        if (visit[-v[i]] == 0)
          printf("Truth\n");
        else if (flag == 1)
          printf("Lie\n");
        else
          printf("Not defined\n");
      }
    }
  }
  return 0;
}
