#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, k;
  cin >> n >> k;
  int n_c_su[n + 1], n_c_si[n + 1];
  bool is_suspect[n + 1];
  string state_of_claims[n + 1];
  for (int i = 1; i <= n; i++) {
    n_c_su[i] = 0;
    n_c_si[i] = 0;
    is_suspect[i] = false;
    state_of_claims[i] = "init";
  }
  int claim_of_person, totoal_sinless = 0, claims[n + 1];
  for (int person = 1; person <= n; person++) {
    cin >> claim_of_person;
    if (claim_of_person > 0) {
      n_c_su[claim_of_person]++;
    } else {
      n_c_si[person]++;
      totoal_sinless++;
    }
    claims[person] = claim_of_person;
  }
  int suspects = 0;
  for (int person = 1; person <= n; person++) {
    if (n_c_su[person] + totoal_sinless - n_c_si[person] == k) {
      is_suspect[person] = true;
      suspects++;
    }
  }
  if (suspects == 1) {
    for (int person = 1; person <= n; person++) {
      if (claims[person] > 0) {
        if (is_suspect[claims[person]]) {
          state_of_claims[person] = "Truth";
        } else {
          state_of_claims[person] = "Lie";
        }
      } else {
        if (is_suspect[-1 * claims[person]]) {
          state_of_claims[person] = "Lie";
        } else {
          state_of_claims[person] = "Truth";
        }
      }
    }
  } else {
    for (int person = 1; person <= n; person++) {
      if (claims[person] > 0) {
        if (is_suspect[claims[person]]) {
          state_of_claims[person] = "Not defined";
        } else {
          state_of_claims[person] = "Lie";
        }
      } else {
        if (is_suspect[-1 * claims[person]]) {
          state_of_claims[person] = "Not defined";
        } else {
          state_of_claims[person] = "Truth";
        }
      }
    }
  }
  for (int person = 1; person <= n; person++) {
    cout << state_of_claims[person] << endl;
  }
}
