#include <bits/stdc++.h>
using namespace std;
bool flag[100002];
bool flag2[100002];
int n;
int m;
char buf[3];
vector<int> v[100002][2];
set<int> s;
int ss[100002];
int S[100002];
int main() {
  int clim = 0;
  scanf("%d%d", &n, &m);
  for (int i = 0; i < n; i++) {
    ss[i] = -1;
    s.insert(i);
    int ind;
    scanf("%d", &ind);
    if (ind >= 0) {
      buf[0] = '+';
      ss[i] = ind - 1;
    } else {
      buf[0] = '-';
    }
    ind = abs(ind);
    ind--;
    S[i] = ind;
    if (buf[0] == '-') {
      v[ind][0].push_back(i);
    } else {
      clim++;
      v[ind][1].push_back(i);
    }
  }
  int ind3 = 0;
  int countt = 0;
  for (int i = 0; i < n; i++) {
    int lie = v[i][0].size();
    lie += clim - v[i][1].size();
    if (lie == n - m) {
      countt++;
      ind3 = i;
      flag[i] = true;
    }
  }
  if (countt == 1) {
    for (int i = 0; i < n; i++) {
      if ((ss[i] == ind3) || (ss[i] == -1 && S[i] != ind3)) {
        puts("Truth");
      } else {
        puts("Lie");
      }
    }
  } else {
    for (int i = 0; i < n; i++) {
      if (ss[i] == -1 && flag[S[i]] == false) {
        puts("Truth");
        continue;
      }
      if ((ss[i] != -1 && flag[ss[i]] == true) || (ss[i] == -1)) {
        puts("Not defined");
      } else {
        puts("Lie");
      }
    }
  }
  return 0;
}
