#include<iostream>
#include<cstring>
char left[3][7]; //三个char型二位数组保存左边,右边三次输入的字符串
char right[3][7];
char result[3][7];
#include<cstring>
char left[3][7]; //三个char型二位数组保存左边,右边三次输入的字符串
char right[3][7];
char result[3][7];
bool isright(bool light,char a) //枚举法假设假币是哪一枚,bool函数返回true即假设正确,函数bool变量表示假设硬币是轻的
{
for(int i=0;i<3;i++)
{
char *pright,*pleft;
if(light){
pright=right[i];
pleft=left[i];
}
else{
pright=left[i];
pleft=right[i];
}
switch(result[i][0]){
case 'u': if(strchr(pright,a)==NULL) //通过结果判断假设是否正确返回true or false
return false;
break;
case 'e': if(strchr(pright,a)||strchr(pleft,a))
return false;
break;
case 'd': if(strchr(pright,a)==NULL)
return true;
break;
}
}
return true;
}
int main()
{
int t;
scanf("%d",&t);
while(t--){
for(int i=0;i<3;i++)
{
scanf("%s %s %s",left[i],right[i],result[i]);
}
}
for(int a='A';a<='L';a++){
if(isright(true,a)){
printf("%c is the counterfeit coin and it is light.\n",a);
break;
}
else if(isright(false, a))
{
{
for(int i=0;i<3;i++)
{
char *pright,*pleft;
if(light){
pright=right[i];
pleft=left[i];
}
else{
pright=left[i];
pleft=right[i];
}
switch(result[i][0]){
case 'u': if(strchr(pright,a)==NULL) //通过结果判断假设是否正确返回true or false
return false;
break;
case 'e': if(strchr(pright,a)||strchr(pleft,a))
return false;
break;
case 'd': if(strchr(pright,a)==NULL)
return true;
break;
}
}
return true;
}
int main()
{
int t;
scanf("%d",&t);
while(t--){
for(int i=0;i<3;i++)
{
scanf("%s %s %s",left[i],right[i],result[i]);
}
}
for(int a='A';a<='L';a++){
if(isright(true,a)){
printf("%c is the counterfeit coin and it is light.\n",a);
break;
}
else if(isright(false, a))
{
printf("%c is the counterfeit coin and it is heavy.\n",a);
break;
}
}
return 0;
}
break;
}
}
return 0;
}