#include <bits/stdc++.h>
using namespace std;
struct node {
  char c;
  int x;
  node() {}
  node(char a, int b) {
    c = a;
    x = b;
  }
};
int main() {
  int n, m;
  scanf("%d%d", &n, &m);
  vector<int> plus(n + 5), minus(n + 5);
  vector<node> data(n + 5);
  int sumMinus = 0;
  getchar();
  char c;
  int x;
  for (int i = 0; i < n; i++) {
    string str;
    cin >> str;
    c = str[0];
    x = str[1] - '0';
    if (c == '+')
      plus[x]++;
    else {
      minus[x]++;
      sumMinus++;
    }
    data[i] = node(c, x);
  }
  vector<bool> guilty(n);
  int guiltyNum = 0;
  for (int i = 1; i <= n; i++) {
    if (sumMinus - minus[i] + plus[i] == m) {
      guilty[i] = true;
      ++guiltyNum;
    }
  }
  for (int i = 0; i < n; i++) {
    if (data[i].c == '+') {
      if (guilty[data[i].x]) {
        if (guiltyNum == 1)
          puts("Truth");
        else
          puts("Not defined");
      } else
        puts("Lie");
    } else {
      if (guilty[data[i].x]) {
        if (guiltyNum == 1)
          puts("Lie");
        else
          puts("Not defined");
      } else
        puts("Truth");
    }
  }
}
