#include <bits/stdc++.h>
using namespace std;
int tr[100005];
int fal[100005];
int sus[100005];
string ans[100005];
int sur[100005];
int main() {
  int n, m;
  cin >> n >> m;
  if (m == 0) {
    for (int i = 0; i < n; i++) cout << "Lie" << endl;
    return 0;
  }
  if (m == n) {
    for (int i = 0; i < n; i++) cout << "Truth" << endl;
    return 0;
  }
  string x;
  int c = 0;
  int a = 0, b = 0;
  for (int i = 1; i < n + 1; i++) {
    cin >> x;
    if (x[0] == '+') {
      a++;
      tr[x[1] - '0']++;
      sus[i] = x[1] - '0';
    } else {
      b++;
      if (fal[x[1] - '0'] == 0) c++;
      fal[x[1] - '0']++;
      sus[i] = '0' - x[1];
    }
  }
  for (int i = 1; i < n + 1; i++) {
    if (tr[i] >= m) {
      sur[i] = 1;
    }
  }
  for (int i = 1; i < n + 1; i++) {
    if (fal[i] >= m) {
      for (int j = 1; j < n + 1; j++) {
        if (sus[j] > 0) {
          if (sus[j] == i) {
            cout << "Truth" << endl;
          } else
            cout << "Lie" << endl;
        } else {
          if (-sus[j] == i) {
            cout << "Lie" << endl;
          } else
            cout << "Truth" << endl;
        }
      }
      return 0;
    }
  }
  for (int i = 1; i < n + 1; i++) {
    if (fal[i] > n - m) {
      sur[i] = 1;
    }
  }
  int l = 0;
  if (c >= m) {
    for (int i = 1; i < n + 1; i++)
      if (sus[i] > 0 && fal[sus[i]] == 0) {
        ans[i] = "Lie";
        l++;
        sur[sus[i]] = 1;
      }
  }
  for (int i = 1; i < n + 1; i++)
    if (sus[i] < 0 && sur[-sus[i]] == 1) {
      ans[i] = "Truth";
      m--;
    } else if (sus[i] > 0 && sur[sus[i]] == 1) {
      ans[i] = "Lie";
      l++;
    }
  if (n - l != m) {
    for (int i = 1; i < n + 1; i++) {
      if (ans[i] == "Truth" || ans[i] == "Lie") {
        cout << ans[i] << endl;
      } else
        cout << "Not defined" << endl;
    }
  } else {
    for (int i = 1; i < n + 1; i++) {
      if (ans[i] == "Truth" || ans[i] == "Lie") {
        cout << ans[i] << endl;
      } else
        cout << "Truth" << endl;
    }
  }
}
