#include <bits/stdc++.h>
using namespace std;
int tu(int val) { return (1 << val); }
bool iset(int mask, int id) {
  if ((mask & tu(id)) != 0) return true;
  return false;
}
void doset(int &mask, int id) { mask |= tu(id); }
void dounset(int &mask, int id) { mask = mask & (~tu(id)); }
template <typename T>
string tos(T a) {
  stringstream ss;
  string ret;
  ss << a;
  ss >> ret;
  return ret;
}
int did[100009], didnt[100009], val[100009], ca, cb, n, m;
vector<int> valid, invalid;
set<int> svalid, sinvalid;
int main() {
  while (cin >> n >> m) {
    string st, od;
    int vl;
    ca = cb = 0;
    memset(did, 0, sizeof did);
    ;
    memset(didnt, 0, sizeof didnt);
    ;
    valid.clear();
    invalid.clear();
    svalid.clear();
    sinvalid.clear();
    for (int(i) = (1); (i) < (n + 1); (i)++) {
      cin >> st;
      od = st.substr(1, st.size() - 1);
      sscanf(od.c_str(), "%d", &vl);
      if (st[0] == '+') {
        val[i] = vl;
        did[vl]++;
      } else {
        val[i] = -vl;
        didnt[vl]++;
      }
    }
    for (int(i) = (1); (i) < (n + 1); (i)++) {
      ca += did[i];
      cb += didnt[i];
    }
    for (int(i) = (1); (i) < (n + 1); (i)++) {
      int cnt = 0;
      cnt += did[i];
      cnt += (cb - didnt[i]);
      if (cnt == m) {
        valid.push_back(i);
        svalid.insert(i);
      } else {
        invalid.push_back(i);
        sinvalid.insert(i);
      }
    }
    for (int(i) = (1); (i) < (n + 1); (i)++) {
      if (val[i] > 0) {
        if (valid.size() == 1 && valid[0] == i) {
          cout << "Truth" << endl;
        } else if (svalid.count(i) > 0) {
          cout << "Not defined" << endl;
        } else {
          cout << "Lie" << endl;
        }
      } else {
        if (svalid.count(i) > 0 && sinvalid.count(i) > 0) {
          cout << "Not defined" << endl;
        } else if (svalid.count(i) > 0 && sinvalid.count(i) == 0) {
          cout << "Lie" << endl;
        } else if (svalid.count(i) == 0 && sinvalid.count(i) > 0) {
          cout << "Truth" << endl;
        } else {
          cout << "Not defined" << endl;
        }
      }
    }
  }
  return 0;
}
