#include <bits/stdc++.h>   using namespace std;   int gcd(int(a), int(b)) { return ((a) % (b) ? gcd((b), (a) % (b)) : (b)); }   long long lgcd(long long(a), long long(b)) {     return ((a) % (b) ? gcd((b), (a) % (b)) : (b));   }   int lcm(int a, int b) { return (a) / gcd((a), (b)) * b; }   long long llcm(long long a, long long b) { return (a) / lgcd((a), (b)) * b; }   int n, m, ans[100010], crime[100010], notcrime[100010];   int main() {     memset(ans, 0, sizeof(ans));     memset(crime, 0, sizeof(crime));     memset(notcrime, 0, sizeof(notcrime));     scanf( %d%d , &n, &m);     getchar();     for (int i = 1; i <= n; i++) {       char c;       int temp;       scanf( %c%d , &c, &temp);       getchar();       if (c ==  + ) {         crime[temp]++;         ans[i] = temp;       } else {         notcrime[temp]++;         ans[i] = -temp;       }     }     int nnc = 0;     for (int i = 1; i <= n; i++) nnc += notcrime[i];     int nc = 0;     bool cc[100010];     memset(cc, false, sizeof(cc));     for (int i = 1; i <= n; i++) {       if (crime[i] + nnc - notcrime[i] == m) {         cc[i] = true;         nc++;       }     }     for (int i = 1; i <= n; i++) {       if (ans[i] > 0) {         if (cc[((ans[i]) > 0 ? (ans[i]) : -(ans[i]))]) {           if (nc > 1)             printf( Not defined n );           else             printf( Truth n );         } else           printf( Lie n );       } else {         if (cc[((ans[i]) > 0 ? (ans[i]) : -(ans[i]))]) {           if (nc == 1)             printf( Lie n );           else             printf( Not defined n );         } else           printf( Truth n );       }     }     return 0;   }   