#include <bits/stdc++.h>
using namespace std;
int n,m;
string p="is-a";
string a,op,b;
map<string,int>mp;
int tot=0;
bool g1[505][505];
int g2[505][505];
int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++){
		cin>>a>>op>>b;
		if(mp.find(a)==mp.end())mp[a]=++tot;
		if(mp.find(b)==mp.end())mp[b]=++tot;
		int ia=mp[a],ib=mp[b];
		if(op==p){
			g1[ia][ib]=true;
		}
		else g2[ia][ib]=2;
	}
	for(int i=1;i<=tot;i++){
		for(int j=1;j<=tot;j++){
			for(int k=1;k<=tot;k++){
				if(g1[j][i]&&g1[i][k])g1[j][k]=true;
			}
		}
	}
	for(int i=1;i<=tot;i++){
		for(int j=1;j<=tot;j++){
			if(g2[i][j]==0&&g1[i][j])g2[i][j]=1;
		}
	}
	for(int i=1;i<=tot;i++){
		for(int j=1;j<=tot;j++){
			for(int k=1;k<=tot;k++){
				if(g2[j][i]&&g2[i][k]&&(g2[j][i]+g2[i][k]!=2))g2[j][k]=2;
			}
		}
	}
	for(int i=1;i<=m;i++){
		cin>>a>>op>>b;
		int ia=mp[a],ib=mp[b];
		if(op==p){
			if(ia==ib||g1[ia][ib])printf("Query %d: true\n",i);
			else printf("Query %d: false\n",i);
		}else {
			if(g2[ia][ib]==2)printf("Query %d: true\n",i);
			else printf("Query %d: false\n",i);
		}
	}
 
}