#include <bits/stdc++.h>
using namespace std;
using namespace std;
const int MaxN = 100005, NA = -1, MaxC = 0x3F3F3F3F;
int a[MaxN];
int b[MaxN], c[MaxN];
bool f[MaxN];
int d, e, g, m, n;
int main(void) {
  int i;
  while (scanf(" %d %d", &n, &m) != EOF) {
    memset(b, 0, sizeof(b));
    memset(c, 0, sizeof(c));
    d = e = 0;
    for (i = 1; i <= n; i++) {
      scanf(" %d", &a[i]);
      if (a[i] > 0)
        d++, b[abs(a[i])]++;
      else
        e++, c[abs(a[i])]++;
    }
    memset(f, 0, sizeof(f));
    g = 0;
    for (i = 1; i <= n; i++)
      if (b[i] + e - c[i] == m) g++, f[i] = true;
    assert(g > 0);
    for (i = 1; i <= n; i++)
      if (a[i] > 0) {
        if (!f[abs(a[i])])
          printf("Lie\n");
        else if (g > 1)
          printf("Not defined\n");
        else
          printf("Truth\n");
      } else {
        if (!f[abs(a[i])])
          printf("Truth\n");
        else if (g > 1)
          printf("Not defined\n");
        else
          printf("Lie\n");
      }
  }
  return 0;
}
