func_code_string: #include <bits/stdc++.h>   using namespace std;   vector<int> cri[100100], notcri[100100];   int totalnot = 0;   int crinum[100100] = {}, notcrinum[100100] = {};   bool cand[100100];   int candnum = 0;   int claim[100100];   int main() {     int N, M;     scanf( %d%d , &N, &M);     for (int i = 1; i <= N; i++) {       scanf( %d , claim + i);       int num = claim[i];       if (num > 0) {         cri[num].push_back(i);         crinum[num]++;       } else {         notcri[-num].push_back(i);         notcrinum[-num]++;         totalnot++;       }     }     for (int c = 1; c <= N; c++) {       int lie = crinum[c] + totalnot - notcrinum[c];       if (lie != M) {         cand[c] = false;         continue;       }       cand[c] = true;       candnum++;     }     if (candnum == 1) {       int criminal;       for (int i = 1; i <= N; i++)         if (cand[i] == true) criminal = i;       for (int i = 1; i <= N; i++) {         if (claim[i] > 0 && claim[i] == criminal)           printf( Truth n );         else if (claim[i] > 0)           printf( Lie n );         if (claim[i] < 0 && claim[i] == -criminal)           printf( Lie n );         else if (claim[i] < 0)           printf( Truth n );       }     } else {       for (int i = 1; i <= N; i++) {         if (claim[i] > 0) {           if (cand[claim[i]] == false)             printf( Lie n );           else             printf( Not defined n );         } else {           if (cand[-claim[i]] == false)             printf( Truth n );           else             printf( Not defined n );         }       }     }     return 0;   }   