#include <bits/stdc++.h>
using namespace std;
const int maxn = 100005;
int n, m;
int a[maxn];
char s[999];
int PLUSsum, MINUSsum;
int PLUS[maxn];
int MINUS[maxn];
int maybe[maxn];
int op[maxn], w[maxn];
void get() {
  int id;
  memset(PLUS, 0, sizeof PLUS);
  memset(MINUS, 0, sizeof MINUS);
  memset(maybe, 0, sizeof maybe);
  PLUSsum = MINUSsum = 0;
  for (int i = 0; i < n; ++i) {
    scanf("%s", s);
    sscanf(s + 1, "%d", &id);
    w[i] = id;
    if (s[0] == '+') {
      op[i] = 1;
      PLUSsum++;
      ++PLUS[id];
    } else {
      op[i] = -1;
      MINUSsum++;
      ++MINUS[id];
    }
  }
}
const int T = 1;
const int F = 2;
void work() {
  int state = 0;
  int aa;
  aa = 0;
  for (int who = 1; who <= n; ++who) {
    int tr = (MINUSsum - MINUS[who]) + PLUS[who];
    if (tr != m) {
      continue;
    }
    maybe[who] = 1;
    ++aa;
  }
  for (int i = 0; i < n; ++i) {
    state = 0;
    int who = w[i];
    if (op[i] == 1) {
      if (maybe[who] == 1) {
        state |= T;
        if (aa > 1) state |= F;
      } else {
        state |= F;
      }
    } else {
      if (maybe[who] == 0) {
        state |= T;
      } else {
        state |= F;
        if (aa > 1) state |= T;
      }
    }
    if (state == T + F)
      puts("Not defined");
    else if (state == T)
      puts("Truth");
    else
      puts("Lie");
  }
}
int main() {
  while (cin >> n >> m) {
    get();
    work();
  }
  return 0;
}
