#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:167177216")
using namespace std;
int n, m;
int PlusC = 0, MinusC = 0;
char op[100000];
int to[100000];
int vote[100000], disvote[100000];
bool read() {
  if (!(cin >> n >> m)) return false;
  for (int i = 0; i < int(n); ++i) {
    cin >> op[i] >> to[i];
    to[i]--;
    if (op[i] == '+')
      PlusC++, vote[to[i]]++;
    else
      MinusC++, disvote[to[i]]++;
  }
  return true;
}
void solve() {
  m = n - m;
  vector<bool> murder(n, false);
  int cnt = 0;
  for (int i = 0; i < int(n); ++i)
    if (disvote[i] + PlusC - vote[i] == m) murder[i] = true, cnt++;
  for (int i = 0; i < int(n); ++i) {
    if (disvote[i] + PlusC - vote[i] == m) {
      for (int j = 0; j < int(n); ++j)
        if (op[j] == '+')
          if (murder[to[j]])
            if (cnt == 1)
              cout << "Truth" << endl;
            else
              cout << "Not defined" << endl;
          else
            cout << "Lie" << endl;
        else if (murder[to[j]])
          if (cnt == 1)
            cout << "Lie" << endl;
          else
            cout << "Not defined" << endl;
        else
          cout << "Truth" << endl;
    }
    return;
  }
}
int main() {
  while (read()) solve();
  return 0;
}
