#include <bits/stdc++.h>
using namespace std;
const int mxn = 100010;
int n, m, a[mxn][2], ans[mxn];
bool vis[mxn];
vector<int> v[mxn][2];
int main() {
  int i, j, k, x;
  int s;
  scanf("%d%d", &n, &m);
  memset(a, 0, sizeof(a));
  for (i = 1; i <= n; i++) {
    scanf("%d", &s);
    if (s < 0) {
      k = 0;
      s = -s;
    } else
      k = 1;
    x = s;
    a[x][k]++;
    v[x][k].push_back(i);
  }
  int sum = 0;
  for (i = 1; i <= n; i++) sum += a[i][0];
  memset(vis, 0, sizeof(vis));
  int t = 0;
  for (i = 1; i <= n; i++)
    if (sum - a[i][0] + a[i][1] == m) {
      vis[i] = 1;
      t++;
    }
  for (i = 1; i <= n; i++) {
    if (vis[i]) {
      if (t > 1) {
        for (j = 0; j < a[i][0]; j++) ans[v[i][0][j]] = 2;
        for (j = 0; j < a[i][1]; j++) ans[v[i][1][j]] = 2;
      } else {
        for (j = 0; j < a[i][0]; j++) ans[v[i][0][j]] = 0;
        for (j = 0; j < a[i][1]; j++) ans[v[i][1][j]] = 1;
      }
    } else {
      for (j = 0; j < a[i][0]; j++) ans[v[i][0][j]] = 1;
      for (j = 0; j < a[i][1]; j++) ans[v[i][1][j]] = 0;
    }
  }
  for (i = 1; i <= n; i++) {
    if (ans[i] == 0)
      printf("Lie\n");
    else if (ans[i] == 1)
      printf("Truth\n");
    else
      printf("Not defined\n");
  }
  return 0;
}
