#include <bits/stdc++.h>
using namespace std;
int N, M;
char sign[200000];
int accusation[200000];
vector<int> positive[200000], negative[200000];
int negativeSize = 0;
bool isSuspect[200000];
int suspectSize = 0;
void checkSuspect(int x) {
  if ((int)positive[x].size() + negativeSize - (int)negative[x].size() == M) {
    isSuspect[x] = true;
    suspectSize++;
  }
}
int main() {
  scanf("%d %d ", &N, &M);
  for (int i = 0; i < N; i++) {
    int x;
    scanf("%c%d ", &sign[i], &x);
    x--;
    accusation[i] = x;
    if (sign[i] == '+')
      positive[x].push_back(i);
    else {
      negative[x].push_back(i);
      negativeSize++;
    }
  }
  for (int i = 0; i < N; i++) checkSuspect(i);
  for (int i = 0; i < N; i++) {
    int x = accusation[i];
    if (sign[i] == '+') {
      if (!isSuspect[x])
        puts("Lie");
      else {
        if (suspectSize == 1)
          puts("Truth");
        else
          puts("Not defined");
      }
    } else {
      if (!isSuspect[x])
        puts("Truth");
      else {
        if (suspectSize == 1)
          puts("Lie");
        else
          puts("Not defined");
      }
    }
  }
  return 0;
}
