#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
const int maxn = 1e5 + 6;
const double eps = 1e-8;
const double pi = acos(-1.0);
struct node {
  int x, y;
  node() {}
  node(int _x, int _y) : x(_x), y(_y) {}
};
priority_queue<pair<int, int>, vector<pair<int, int> >, less<pair<int, int> > >
    q;
int n, m;
int a[maxn];
int b[maxn];
int c[maxn];
int vis[maxn];
int main() {
  cin >> n >> m;
  int sum = 0;
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
    if (a[i] > 0) {
      b[a[i]]++;
    } else {
      c[-a[i]]++;
      sum++;
    }
  }
  int k = 0;
  for (int i = 1; i <= n; i++) {
    if (b[i] + sum - c[i] == m) {
      vis[i] = 1;
      k++;
    }
  }
  for (int i = 1; i <= n; i++) {
    if (a[i] > 0) {
      if (vis[a[i]] && k == 1) {
        printf("Truth\n");
      } else if (!vis[a[i]]) {
        printf("Lie\n");
      } else {
        printf("Not defined\n");
      }
    } else {
      if (!vis[-a[i]]) {
        printf("Truth\n");
      } else if (vis[-a[i]] && k == 1) {
        printf("Lie\n");
      } else {
        printf("Not defined\n");
      }
    }
  }
}
