#include <bits/stdc++.h>
using namespace std;
struct pole {
  int za, prot;
};
int n, m, i, a[100010], kol, vote;
pole person[100010];
int protkol = 0;
set<int> st;
int main() {
  cin >> n >> m;
  for (i = 1; i <= n; i++) {
    cin >> a[i];
    if (a[i] > 0)
      person[abs(a[i])].za++;
    else {
      person[abs(a[i])].prot++;
      protkol++;
    }
  }
  for (i = 1; i <= n; i++) {
    kol = protkol;
    kol = kol + person[i].za - person[i].prot;
    if (kol == m) st.insert(i);
  }
  for (i = 1; i <= n; i++) {
    vote = 0;
    int x = abs(a[i]);
    if (a[i] > 0) {
      if (st.find(x) != st.end()) vote++;
      if (st.find(x) == st.end() || st.size() > 1) vote += 2;
    } else {
      if (st.find(x) != st.end()) vote += 2;
      if (st.find(x) == st.end() || st.size() > 1) vote++;
    }
    if (vote == 1)
      cout << "Truth";
    else if (vote == 2)
      cout << "Lie";
    else
      cout << "Not defined";
    cout << endl;
  }
  return 0;
}
