#include<bits/stdc++.h>
using namespace std;
char side='R';
bool win,flag=true,flag1;
int mp[20][20]=
{
{1 ,2 ,3 ,4 ,5 ,4 ,3 ,2 ,1 },
{0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 },
{6 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,6 },
{7 ,0 ,7 ,0 ,7 ,0 ,7 ,0 ,7 },
{0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 },
{0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 },
{15,0 ,15,0 ,15,0 ,15,0 ,15},
{14,0 ,0 ,0 ,0 ,0 ,0 ,0 ,14},
{0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 },
{9 ,10,11,12,13,12,11,10,9 }
};
int used[20][20],used1[20][20];
int tx[10]={0,1,-1,0,0},ty[10]={0,0,0,1,-1};
int tx1[10]={0,1,-1,1,-1},ty1[10]={0,1,-1,-1,1};
int tx2[10]={0,1,-1,0,0,1,-1,1,-1},ty2[10]={0,0,0,1,-1,1,-1,-1,1};
void captain(int x,int y){
for(int i=1;i<=4;i++){
int dx=x+tx[i],dy=y+ty[i];
if(dx<0||dx>9||dy<0||dy>8)continue;
used[dx][dy]=1;
}
}
void guard(int x,int y){
for(int i=1;i<=4;i++){
int dx=x+tx1[i],dy=y+ty1[i];
if(dx<0||dx>9||dy<0||dy>8)continue;
used[dx][dy]=1;
}
}
void elephant(int x,int y){
for(int i=1;i<=4;i++){
int fx=x+tx1[i],fy=y+ty1[i];
if(fx<0||fx>9||fy<0||fy>8)continue;
if(mp[fx][fy]==0){
int dx=x+tx1[i]*2,dy=y+ty1[i]*2;
if(dx<0||dx>9||dy<0||dy>8)continue;
used[dx][dy]=1;
}
}
}
void horse(int x,int y){
for(int i=1;i<=4;i++){
int fx=x+tx1[i];
if(fx<0||fx>9)continue;
if(mp[fx][y]==0){
int dx=x+tx1[i]*2,dy=y+ty1[i];
if(dx<0||dx>9||dy<0||dy>8)continue;
used[dx][dy]=1;
}
int fy=y+ty1[i];
if(fy<0||fy>8)continue;
if(mp[x][fy]==0){
int dx=x+tx1[i],dy=y+ty1[i]*2;
if(dx<0||dx>9||dy<0||dy>8)continue;
used[dx][dy]=1;
}
}
}
void car(int x,int y){
for(int i=x-1;i>=0;i--){
if(mp[i][y]!=0){
if(side=='R'){
if(mp[i][y]<=7){
used[i][y]=1;
}
}else{
if(mp[i][y]>=9){
used[i][y]=1;
}
}
break;
}else{
used[i][y]=1;
}
}
for(int i=x+1;i<=9;i++){
if(mp[i][y]!=0){
if(side=='R'){
if(mp[i][y]<=7){
used[i][y]=1;
}
}else{
if(mp[i][y]>=9){
used[i][y]=1;
}
}
break;
}else{
used[i][y]=1;
}
}
for(int i=y-1;i>=0;i--){
if(mp[x][i]!=0){
if(side=='R'){
if(mp[x][i]<=7){
used[x][i]=1;
}
}else{
if(mp[x][i]>=9){
used[x][i]=1;
}
}
break;
}else{
used[x][i]=1;
}
}
for(int i=y+1;i<=8;i++){
if(mp[x][i]!=0){
if(side=='R'){
if(mp[x][i]<=7){
used[x][i]=1;
}
}else{
if(mp[x][i]>=9){
used[x][i]=1;
}
}
break;
}else{
used[x][i]=1;
}
}
}
void duck(int x,int y){
for(int i=1;i<=4;i++){
int fx=x+tx1[i],fy=y+ty1[i],fx1=x+tx1[i]*2,fy1=y+ty1[i]*2;
if(fx<0||fx>9||fy<0||fy>8||fx1<0||fx1>9||fy1<0||fy1>8)continue;
if(mp[fx][y]==0&&mp[fx1][fy]==0){
int dx=x+tx1[i]*3,dy=y+ty1[i]*2;
if(dx<0||dx>9||dy<0||dy>8)continue;
used[dx][dy]=1;
}
if(mp[x][fy]==0&&mp[fx][fy1]==0){
int dx=x+tx1[i]*2,dy=y+ty1[i]*3;
if(dx<0||dx>9||dy<0||dy>8)continue;
used[dx][dy]=1;
}
}
}
void soldier(int x,int y){
for(int i=1;i<=8;i++){
int dx=x+tx2[i],dy=y+ty2[i];
if(dx<0||dx>9||dy<0||dy>8)continue;
used[dx][dy]=1;
}
}
void check(int x,int y,int l,int r,bool won){
flag=1;
for(int i=0;i<=11;i++){
for(int j=0;j<=11;j++){
used[i][j]=0;
}
}
if(mp[x][y]==0||won==1||x<0||x>9||l<0||l>9||y<0||y>8||r<0||r>8){
flag=false;
return ;
}
if(side=='R'){
if(mp[x][y]>=9||(mp[l][r]>0&&mp[l][r]<=7)){
flag=false;
return ;
}
}else{
if(mp[x][y]<=7||mp[l][r]>=9){
flag=false;
return ;
}
}
int num=mp[x][y];
if(side=='R'){
if(num==1)car(x,y);
if(num==2)horse(x,y);
if(num==3)elephant(x,y);
if(num==4)guard(x,y);
if(num==5)captain(x,y);
if(num==6)duck(x,y);
if(num==7)soldier(x,y);
}else{
if(num==9 )car(x,y);
if(num==10)horse(x,y);
if(num==11)elephant(x,y);
if(num==12)guard(x,y);
if(num==13)captain(x,y);
if(num==14)duck(x,y);
if(num==15)soldier(x,y);
}
if(used[l][r]==0){
flag=false;
return ;
}
}
void question_one(int x,int y){
if(side=='R'){
cout<<"red ";
}else{
cout<<"blue ";
}
int num=mp[x][y];
if(num==1||num==9)cout<<"car;";
if(num==2||num==10)cout<<"horse;";
if(num==3||num==11)cout<<"elephant;";
if(num==4||num==12)cout<<"guard;";
if(num==5||num==13)cout<<"captain;";
if(num==6||num==14)cout<<"duck;";
if(num==7||num==15)cout<<"soldier;";
}
void question_two(int x,int y){
int num=mp[x][y];
if(num==0){
cout<<"NA;";
return ;
}
if(side=='R'){
cout<<"blue ";
}else{
cout<<"red ";
}
if(num==1||num==9)cout<<"car;";
if(num==2||num==10)cout<<"horse;";
if(num==3||num==11)cout<<"elephant;";
if(num==4||num==12)cout<<"guard;";
if(num==5||num==13)cout<<"captain;";
if(num==6||num==14)cout<<"duck;";
if(num==7||num==15)cout<<"soldier;";
}
void question_three1(int l,int r){
for(int i=0;i<=9;i++){
for(int j=0;j<=8;j++){
used[i][j]=0;
used1[i][j]=used[i][j];
}
}
if(side=='R'){
for(int i=0;i<=9;i++){
for(int j=0;j<=8;j++){
int num=mp[i][j];
if(num==9)car(i,j);
if(num==10)horse(i,j);
if(num==11)elephant(i,j);
if(num==12)guard(i,j);
if(num==14)duck(i,j);
if(num==15)soldier(i,j);
}
}
}else{
for(int i=0;i<=9;i++){
for(int j=0;j<=8;j++){
int num=mp[i][j];
if(num==1)car(i,j);
if(num==2)horse(i,j);
if(num==3)elephant(i,j);
if(num==4)guard(i,j);
if(num==6)duck(i,j);
if(num==7)soldier(i,j);
}
}
}
if(used[l][r]==1){
cout<<"yes;";
flag1=1;
}
for(int i=0;i<=9;i++){
for(int j=0;j<=8;j++){
used[i][j]=0;
used1[i][j]=used[i][j];
}
}
}
void question_three2(int x,int y,int l,int r){
flag1=0;
for(int i=0;i<=9;i++){
for(int j=0;j<=8;j++){
used[i][j]=0;
used1[i][j]=used[i][j];
}
}
int ooo=mp[l][r];
mp[l][r]=mp[x][y];
mp[x][y]=0;
if(side=='R'){
for(int i=0;i<=9;i++){
for(int j=0;j<=8;j++){
int num=mp[i][j];
if(num==9)car(i,j);
if(num==10)horse(i,j);
if(num==11)elephant(i,j);
if(num==12)guard(i,j);
if(num==14)duck(i,j);
if(num==15)soldier(i,j);
}
}
}else{
for(int i=0;i<=9;i++){
for(int j=0;j<=8;j++){
int num=mp[i][j];
if(num==1)car(i,j);
if(num==2)horse(i,j);
if(num==3)elephant(i,j);
if(num==4)guard(i,j);
if(num==6)duck(i,j);
if(num==7)soldier(i,j);
}
}
}
for(int i=0;i<=9;i++){
for(int j=0;j<=8;j++){
used1[i][j]=used[i][j];
used[i][j]=0;
}
}
if(side=='R'){
for(int i=0;i<=9;i++){
for(int j=0;j<=8;j++){
int num=mp[i][j];
if(num==1)car(i,j);
if(num==2)horse(i,j);
if(num==3)elephant(i,j);
if(num==4)guard(i,j);
if(num==6)duck(i,j);
if(num==7)soldier(i,j);
}
}
}else{
for(int i=0;i<=9;i++){
for(int j=0;j<=8;j++){
int num=mp[i][j];
if(num==9)car(i,j);
if(num==10)horse(i,j);
if(num==11)elephant(i,j);
if(num==12)guard(i,j);
if(num==14)duck(i,j);
if(num==15)soldier(i,j);
}
}
}
mp[x][y]=mp[l][r];
mp[l][r]=ooo;
if(side=='R'){
for(int i=0;i<=9;i++){
for(int j=0;j<=8;j++){
if(mp[i][j]==5){
if(used1[i][j]==1){
cout<<"yes;";
flag1=1;
return ;
}
}
if(mp[i][j]==13){
if(used[i][j]==1){
cout<<"yes;";
flag1=1;
return ;
}
}
}
}
}else{
for(int i=0;i<=9;i++){
for(int j=0;j<=8;j++){
if(mp[i][j]==13){
if(used1[i][j]==1){
cout<<"yes;";
flag1=1;
return ;
}
}
if(mp[i][j]==5){
if(used[i][j]==1){
cout<<"yes;";
flag1=1;
return ;
}
}
}
}
}
}
void question_four(bool won){
if(won==1){
cout<<"yes"<<endl;
}else{
cout<<"no"<<endl;
}
}
int q,x,y,l,r;
int main(){
cin>>q;
while(q--){
flag=0;flag1=0;
cin>>x>>y>>l>>r;
for(int i=0;i<=11;i++){
for(int j=0;j<=11;j++){
used[i][j]=0;
}
}
check(x,y,l,r,win);
if(flag==false){
cout<<"Invalid command"<<endl;
continue;
}
question_one(x,y);
for(int i=0;i<=9;i++){
for(int j=0;j<=8;j++){
used[i][j]=0;
used1[i][j]=used[i][j];
}
}
question_two(l,r);
for(int i=0;i<=9;i++){
for(int j=0;j<=8;j++){
used[i][j]=0;
used1[i][j]=used[i][j];
}
}
if(mp[x][y]==5||mp[x][y]==13){
question_three1(l,r);
}else{
question_three2(x,y,l,r);
for(int i=0;i<=9;i++){
for(int j=0;j<=8;j++){
used[i][j]=0;
used1[i][j]=used[i][j];
}
}
}
if(flag1==0){
cout<<"no;";
}
if(mp[l][r]==5||mp[l][r]==13){
win=1;
}
question_four(win);
mp[l][r]=mp[x][y];
mp[x][y]=0;
if(side=='R'){
side='B';
}else{
side='R';
}
}
return 0;
}