#include <bits/stdc++.h>
using namespace std;
const long long maxn = 1e5 + 10, mod = 1e9 + 7, inf = 2e9, maxlg = 17;
vector<long long> v1, v3, comp, adj[maxn];
vector<pair<long long, long long> > v2;
long long mark[maxn];
long long eteh[maxn], tab[maxn], a[maxn], ok[maxn];
int main() {
  long long n, m;
  cin >> n >> m;
  long long se = 0, st = 0;
  for (int i = 0; i < n; i++) {
    long long b;
    cin >> b;
    if (b < 0) {
      a[i + 1] = b;
      tab[(-1) * b]++;
      st++;
    } else {
      a[i + 1] = b;
      eteh[b]++;
      se++;
    }
  }
  long long cnt = 0;
  for (int i = 1; i <= n; i++) {
    long long x;
    x = st - tab[i] + eteh[i];
    if (x == m) {
      ok[i] = 1;
      cnt++;
    } else {
      ok[i] = 0;
    }
  }
  for (int i = 1; i <= n; i++) {
    long long x = a[i];
    if (x > 0) {
      if (ok[a[i]] && cnt == 1) {
        cout << "Truth" << endl;
      } else if (ok[a[i]] && cnt != 1) {
        cout << "Not defined" << endl;
      } else if (!ok[a[i]]) {
        cout << "Lie" << endl;
      }
    } else {
      if (ok[a[i] * (-1)]) {
        if (cnt == 1) {
          cout << "Lie" << endl;
        } else {
          cout << "Not defined" << endl;
        }
      } else {
        cout << "Truth" << endl;
      }
    }
  }
}
