#include<bits/stdc++.h>
using namespace std;
#include<ext/pb_ds/assoc_container.hpp>
#include<ext/pb_ds/hash_policy.hpp>
using namespace __gnu_pbds;
#define _for(i,a,b) for(int i=(a);i<(b);++i)
#define ms(a) memset(a,0,sizeof(a))
#define ms_inf(a) memset(a,0x3f,sizeof(a))
#define ms_ninf(a) memset(a,0xcf,sizeof(a))
#define pb push_back
#define mp make_pair
#define fast ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#define lc (o<<1)
#define rc (o<<1|1)
//#include<ext/pb_ds/priority_queue.hpp>
//typedef __gnu_pbds::priority_queue<no> heap;  //��ƫ�� 
typedef long long ll; 
typedef unsigned long long ull;
int mod=1e9+7;
ll INF=1e18;
const int maxn=1e5+10;
const int maxl=1e4+10;
const double PI=acos(-1.0);
const double eps=1e-8;
int n,m;
int c0[maxn],c1[maxn];
set<int>v[2][maxn];
bitset<maxn>tr,fa;int u[2];
bool po[maxn];
int a[maxn],s[maxn];
void f(bool o)
{
	ms(a),ms(s);int cnt=0;
	for(int i=1;i<=n;++i)
	{
		int y=c1[i]+u[0]-c0[i];
		if(y==m)
		{
			++cnt;
			for(auto&w:v[1^o][i])++a[w];
			++s[1],--s[n+1];
			for(auto&w:v[o][i])--a[w];
		}
	}
	auto&q=o?fa:tr;
	for(int i=1;i<=n;++i)
	{
		if(!po[i])a[i]+=cnt;
		if(a[i]>0)q[i]=1;
	}
}
int main()
{
	fast;cin>>n>>m;
	_for(t,1,n+1)
	{
		int x;cin>>x;
		if(x>0)++c1[x],v[1][x].insert(t),++u[1],po[t]=1;
		else ++c0[-x],v[0][-x].insert(t),++u[0];
	}
	f(0);
	f(1);
	for(int i=1;i<=n;++i)
	{
		if(tr[i]&&fa[i])cout<<"Not defined";
		else
		{
			if(tr[i])cout<<"Truth";
			else cout<<"Lie";
		}
		cout<<"\n";
	}
}
