#include <bits/stdc++.h>
using namespace std;
inline int read() {
  int x = 0, f = 1;
  char ch = getchar();
  while (!isdigit(ch)) {
    if (ch == '-') f = -1;
    ch = getchar();
  }
  while (isdigit(ch)) {
    x = x * 10 + ch - 48;
    ch = getchar();
  }
  return x * f;
}
int a[100010];
int b[100010];
int d[100010];
bool was[100010];
int main() {
  memset(b, 0, sizeof(b));
  memset(d, 0, sizeof(d));
  int n, m;
  n = read(), m = read();
  int no_p = 0;
  int yes_p = 0;
  for (int i = 1; i <= n; i++) {
    a[i] = read();
    if (a[i] < 0) {
      b[abs(a[i])]++;
      no_p++;
    }
    if (a[i] > 0) {
      d[a[i]]++;
      yes_p++;
    }
  }
  int num_s = 0;
  for (int i = 1; i <= n; i++) {
    int tmp = d[i] + no_p - b[i];
    if (tmp == m) {
      was[i] = true;
      num_s++;
    }
  }
  for (int i = 1; i <= n; i++) {
    if (a[i] > 0) {
      if (was[a[i]] && num_s == 1)
        cout << "Truth" << endl;
      else if (was[a[i]] && num_s > 1)
        cout << "Not defined" << endl;
      else
        cout << "Lie" << endl;
    }
    if (a[i] < 0) {
      if (was[-a[i]] && num_s > 1)
        cout << "Not defined" << endl;
      else if (was[-a[i]] && num_s == 1)
        cout << "Lie" << endl;
      else
        cout << "Truth" << endl;
    }
  }
  return 0;
}
