#include <bits/stdc++.h>
using namespace std;
vector<pair<int, int> > N, U;
vector<int> Z;
vector<int> zmen(vector<int> Z, int k) {
  if (N[k].second == 1) Z[N[k].first] = 1;
  if (N[k].second == 0) Z[N[k].first] = 0;
  return Z;
}
int vyhod(vector<int> A) {
  int vys = 0;
  for (int i = 0; i < A.size(); i++) vys += A[i];
  return vys;
}
int main() {
  int n, m;
  scanf("%d %d ", &n, &m);
  pair<int, int> b = make_pair(-1, -1);
  N.resize(n, b);
  U.resize(n, b);
  Z.resize(n);
  for (int i = 0; i < n; i++) {
    char c;
    int x;
    scanf("%c%d ", &c, &x);
    x--;
    int t;
    if (c == '+')
      t = 1;
    else
      t = 0;
    Z[i] = (t + 1) % 2;
    U[i] = make_pair(x, t);
    N[x] = make_pair(i, t);
  }
  vector<int> V;
  V.resize(n, -1);
  for (int i = 0; i < n; i++) {
    vector<int> A = zmen(Z, i);
    int p = vyhod(A);
    if (p == m) {
      for (int j = 0; j < n; j++) {
        if (V[j] == -1)
          V[j] = A[j];
        else if (V[j] != 2 && V[j] != A[j])
          V[j] = 2;
      }
    }
  }
  for (int i = 0; i < n; i++) {
    if (V[i] == 0)
      printf("Lie\n");
    else if (V[i] == 1)
      printf("Truth\n");
    else
      printf("Not defined\n");
  }
  return 0;
}
