#include <bits/stdc++.h>
using namespace std;
int IT_MAX = 1 << 18;
const long long MOD = 1000000009;
const int INF = 0x3f3f3f3f;
const long long LL_INF = 3234567890123456789ll;
const double PI = acos(-1);
const double EPS = 1e-8;
int n, m;
pair<char, int> f[100007];
int a[100007], b[100007];
string res[100007];
int ConvertToInt(string s) {
  int res = 0;
  for (int i = 0; i < s.length(); i++) {
    res = res * 10 + int(s[i]) - 48;
  }
  return res;
}
int main() {
  cin >> n >> m;
  int count_ = 0;
  int numberCrime = 0;
  for (int i = 1; i <= n; i++) {
    string s;
    cin >> s;
    f[i].first = s[0];
    f[i].second = ConvertToInt(s.substr(1, s.length() - 1));
    if (f[i].first == '+') {
      numberCrime += (a[f[i].second] == 0);
      a[f[i].second]++;
      count_++;
    } else {
      b[f[i].second]++;
    }
  }
  for (int i = 1; i <= n; i++) {
    res[i] = "-";
  }
  for (int i = 1; i <= n; i++) {
    int u = f[i].second;
    if (f[i].first == '+') {
      int truth = n - b[u] - (count_ - a[u]);
      if (truth == m) {
        for (int j = 1; j <= n; j++)
          if (f[j].first == '+') {
            if (f[j].second != u)
              res[j] = "Lie";
            else
              res[j] = "Truth";
          } else {
            if (f[j].second == u)
              res[j] = "Lie";
            else
              res[j] = "Truth";
          }
        for (int j = 1; j <= n; j++) {
          cout << res[j] << endl;
        }
        return 0;
      } else {
        res[i] = "Lie";
      }
    } else {
      int truth = b[u];
      if (b[u] + (numberCrime == n) > m) {
        res[i] = "Lie";
      }
    }
  }
  for (int i = 1; i <= n; i++)
    if (res[i] == "-")
      cout << "Not defined" << endl;
    else
      cout << res[i] << endl;
}
