#include <bits/stdc++.h>
using namespace std;
int used[100001];
int main() {
  multiset<int> v1, v2;
  int n, m, a[100000];
  cin >> n >> m;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    if (a[i] > 0)
      v1.insert(a[i]);
    else
      v2.insert(a[i]);
  }
  int koli = 0;
  for (int i = 0; i < n; i++)
    if (a[i] > 0) {
      used[a[i]]++;
      koli++;
    }
  set<int> s;
  for (int i = 1; i <= n; i++) {
    if ((int)v1.count(i) + v2.size() - (int)v2.count(-i) == m) s.insert(i);
  }
  string res[100000];
  for (int i = 0; i < n; i++)
    if (a[i] > 0)
      if (s.find(a[i]) != s.end())
        if (s.size() != 1)
          res[i] = "Not defined";
        else
          res[i] = "Truth";
      else
        res[i] = "Lie";
    else if (s.find(-a[i]) != s.end())
      if (s.size() != 1)
        res[i] = "Not defined";
      else
        res[i] = "Lie";
    else
      res[i] = "Truth";
  for (int i = 0; i < n; i++) cout << res[i] << endl;
  return 0;
}
