#include <bits/stdc++.h>
using namespace std;
const int maxn = (int)(1e5) + 123;
const long long inf = (long long)(1e18);
const int INF = (int)(1e9);
int klv, x[maxn], n, m, d1[maxn], d2[maxn], klv1, klv2;
bool used[maxn];
char c[maxn];
vector<int> v;
int main() {
  ios_base::sync_with_stdio(false);
  cin >> n >> m;
  for (int i = 1; i <= n; ++i) {
    cin >> c[i] >> x[i];
    if (c[i] == '+')
      d1[x[i]]++, klv1++;
    else
      d2[x[i]]++, klv2++;
  }
  for (int i = 1; i <= n; ++i) {
    int cur = d1[i] + klv2 - d2[i];
    if (cur == m) used[i] = 1, klv++;
  }
  for (int i = 1; i <= n; ++i) {
    if (used[i]) {
      if (c[i] == '+') {
        if (x[i] == i && klv != 1)
          cout << "Not defined\n";
        else if (x[i] == i && klv == 1)
          cout << "Truth\n";
        else if (x[i] != i && klv == 1)
          cout << "Lie\n";
        else if (x[i] != i && klv != 1 && used[x[i]])
          cout << "Not defined\n";
        else
          cout << "Lie\n";
      } else {
        if (x[i] == i && klv != 1)
          cout << "Not defined\n";
        else if (x[i] == i && klv == 1)
          cout << "Lie\n";
        else if (x[i] != i && klv == 1)
          cout << "Truth\n";
        else if (x[i] != i && klv != 1 && used[x[i]])
          cout << "Not defined\n";
        else
          cout << "Truth\n";
      }
    } else {
      if (c[i] == '+') {
        if (used[x[i]] && klv > 1)
          cout << "Not defined\n";
        else if (used[x[i]] && klv == 1)
          cout << "Truth\n";
        else if (!used[x[i]])
          cout << "Lie\n";
      } else {
        if (used[x[i]] && klv > 1)
          cout << "Not defined\n";
        else if (used[x[i]] && klv == 1)
          cout << "Lie\n";
        else if (!used[x[i]])
          cout << "Truth\n";
      }
    }
  }
  return 0;
}
