#include <bits/stdc++.h>
using namespace std;
vector<int> ne[100100], p[100100];
int hn;
int t;
int mark[100100];
int mp[100100];
int mn[100100];
int main() {
  int n, m;
  cin >> n >> m;
  for (int i = 1; i <= n; i++) {
    char x;
    cin >> x;
    int a;
    cin >> a;
    if (x == '+') {
      p[a].push_back(i);
    }
    if (x == '-') {
      ne[a].push_back(i);
      mark[i] = 1;
      hn++;
    }
  }
  for (int i = 1; i <= n; i++) {
    if (p[i].size() + (hn - ne[i].size()) == m) {
      for (int j = 0; j < p[i].size(); j++) {
        mp[p[i][j]]++;
      }
      for (int j = 0; j < ne[i].size(); j++) {
        mn[ne[i][j]]++;
      }
      t++;
    }
  }
  for (int i = 1; i <= n; i++) {
    if (mark[i] == 1) {
      if (mn[i] == 0) {
        cout << "Truth";
        cout << endl;
      }
      if (mn[i] > 0 and t == 1) {
        cout << "Lie";
        cout << endl;
      }
      if (mn[i] > 0 and t > 1) {
        cout << "Not defined";
        cout << endl;
      }
    } else {
      if (mp[i] == t) {
        cout << "Truth";
        cout << endl;
      }
      if (mp[i] == 0) {
        cout << "Lie";
        cout << endl;
      }
      if (0 < mp[i] and mp[i] < t) {
        cout << "Not defined";
        cout << endl;
      }
    }
  }
  return 0;
}
