#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m;
  cin >> n >> m;
  vector<int> v(n), tr(n, 0);
  for (int i = 0; i < n; ++i) {
    cin >> v[i];
    if (v[i] > 0)
      tr[v[i] - 1]--;
    else
      tr[-v[i] - 1]++;
  }
  vector<int> kav;
  int sum = 0;
  for (int i = 0; i < n; ++i) sum += tr[i];
  for (int i = 0; i < n; ++i)
    if (!((sum + n) % 2) && (sum + n) / 2 - tr[i] == m) kav.push_back(i);
  vector<string> ans(n);
  for (int i = 0; i < n; ++i) {
    vector<int>::iterator it =
        lower_bound(kav.begin(), kav.end(), abs(v[i]) - 1);
    if (it == kav.end() || *it != abs(v[i]) - 1)
      if (v[i] > 0)
        ans[i] = "Lie";
      else
        ans[i] = "Truth";
    else if ((int)kav.size() > 1)
      ans[i] = "Not defined";
    else if (v[i] > 0)
      ans[i] = "Truth";
    else
      ans[i] = "Lie";
  }
  for (int i = 0; i < n; ++i) cout << ans[i] << endl;
  return 0;
}
