#include <bits/stdc++.h>
using namespace std;
enum { no, yes, notdef };
struct st {
  int who;
  char whochi;
  char murder;
  char honest;
  vector<int> ghatel;
  vector<int> bigonah;
};
st person[100005];
int main() {
  int n, m;
  int ng = 0, ps = 0;
  int ngset = 0, psset = 0;
  int ghatelNum = -1;
  cin >> n >> m;
  char inp;
  int numInp;
  for (int i = 0; i < n; i++) {
    cin >> inp >> numInp;
    person[i].who = numInp - 1;
    if (inp == '+') {
      person[i].whochi = '+';
      ps++;
      person[person[i].who].ghatel.push_back(i);
    } else if (inp == '-') {
      person[i].whochi = '-';
      ng++;
      person[person[i].who].bigonah.push_back(i);
    } else {
      cout << "error1\n";
    }
    person[i].honest = notdef;
    person[i].murder = notdef;
  }
  for (int i = 0; i < n; i++) {
    if (person[i].ghatel.size() > 0) psset++;
    if (person[i].bigonah.size() > 0) ngset++;
  }
  int numHonNg = 0, numdrghps = 0;
  int mokhNumHonNg = -1, mokhNumdrghps = -1;
  switch (ngset - m) {
    case 1:
      for (int i = 0; i < n; i++) {
        if (person[i].whochi == '+') {
          person[i].honest = no;
          person[person[i].who].murder = no;
        }
      }
      for (int i = 0; i < n; i++) {
        if (person[i].whochi == '-') {
          if (person[person[i].who].murder == no) {
            person[i].honest = yes;
          } else {
            if (mokhNumHonNg == -1 || mokhNumHonNg == person[i].who)
              mokhNumHonNg = person[i].who;
            else
              mokhNumHonNg = -2;
          }
        }
      }
      if (mokhNumHonNg >= 0) {
        for (int i = 0; i < n; i++) {
          if (person[i].whochi == '-') {
            if (person[i].who == mokhNumHonNg) {
              person[i].honest = no;
              person[mokhNumHonNg].murder = yes;
              ghatelNum = mokhNumHonNg;
            }
          }
        }
      }
      break;
    case -1:
      for (int i = 0; i < n; i++) {
        if (person[i].whochi == '-') {
          person[person[i].who].murder = no;
          person[i].honest = yes;
        }
      }
      for (int i = 0; i < n; i++) {
        if (person[i].whochi == '+') {
          if (person[person[i].who].murder == no) {
            person[i].honest = no;
          } else {
            if (mokhNumdrghps == -1 || mokhNumdrghps == person[i].who) {
              mokhNumdrghps = person[i].who;
            } else {
              mokhNumdrghps = -2;
            }
          }
        }
      }
      if (mokhNumdrghps >= 0) {
        for (int i = 0; i < n; i++) {
          if (person[i].whochi == '+') {
            if (person[person[i].who].murder != no) {
              person[i].honest = yes;
              person[person[i].who].murder = yes;
            }
          }
        }
      }
      break;
    case 0:
      if (ps == 0) {
        for (int i = 0; i < n; i++) person[i].honest = yes;
      }
      break;
    default:
      cout << "error2\n";
  }
  for (int i = 0; i < n; i++) {
    if (person[i].honest == yes)
      cout << "Truth\n";
    else if (person[i].honest == no)
      cout << "Lie\n";
    else
      cout << "Not defined\n";
  }
  return 0;
}
