#include <bits/stdc++.h>
using namespace std;
stringstream ss;
int n, a;
long long x, y;
string s, s1;
vector<string> vs;
vector<int> v, v1;
vector<vector<int> > vv;
map<string, int> m;
pair<map<string, int>::iterator, bool> ret;
map<string, int>::iterator it;
void solve() {
  int i, j, k, l;
  int c = 0;
  k = c;
  if (a == 1 && n == 1) {
    s = vs[0];
    if (s[0] == '-')
      cout << "Lie" << endl;
    else
      cout << "Truth" << endl;
    return;
  }
  for (i = 0; i < vs.size(); i++) v.push_back(0);
  for (i = 0; i < vs.size(); i++) {
    s = vs[i];
    if (s[0] == '-') {
      c++;
      ss << s[1];
      ss >> j;
      ss.clear();
      v[j] = 1;
    }
  }
  if (c >= a) {
    for (i = 0; i < vs.size(); i++) {
      s = vs[i];
      if (s[0] == '-')
        cout << "Not defined" << endl;
      else
        cout << "Lie" << endl;
    }
  } else {
    a = a - c;
    for (i = 0; i < vs.size(); i++) {
      s = vs[i];
      k = s[1] - '0';
      if (v[k] == 0 && s[0] == '+') {
        cout << "Lie" << endl;
      } else
        cout << "Not Defined" << endl;
    }
  }
}
void load() {
  int j;
  cin >> n >> a;
  for (int i = 0; i < n; i++) {
    cin >> s;
    vs.push_back(s);
  }
}
int main() {
  load();
  solve();
  return 0;
}
