#include <bits/stdc++.h>
using namespace std;
const int INF = 1000 * 1000 * 1000;
const double PI = acos(-1.0);
int n, m, a[200001], ans[200001];
vector<int> b[200001], c[200001], ind;
int main() {
  cin >> n >> m;
  for (int i = 1; i <= n; ++i) {
    cin >> a[i];
    if (a[i] < 0)
      c[(-1) * a[i]].push_back(i);
    else
      b[a[i]].push_back(i);
  }
  for (int i = 1; i <= n; ++i)
    if ((int)b[i].size() >= m) ind.push_back(i);
  if ((int)ind.size() == 0) {
    for (int i = 1; i <= n; ++i) ans[i] = 0;
  } else if ((int)ind.size() == 1) {
    int k = ind[0];
    for (int i = 1; i <= n; ++i) ans[i] = -1;
    for (int i = 0; i < b[k].size(); ++i) {
      int x = b[k][i];
      ans[x] = 1;
    }
  } else {
    for (int i = 1; i <= n; ++i) ans[i] = 0;
    for (int i = 0; i < ind.size(); ++i) {
      int k = ind[i];
      for (int j = 0; j < b[k].size(); ++j) {
        int x = b[k][j];
        ans[x] = -1;
      }
      for (int j = 0; j < c[k].size(); ++j) {
        int x = c[k][j];
        ans[x] = 0;
      }
    }
  }
  for (int i = 1; i <= n; ++i)
    if (ans[i] == -1)
      cout << "Lie" << endl;
    else if (ans[i] == 0)
      cout << "Not defined" << endl;
    else
      cout << "Truth" << endl;
  return 0;
}
