#include<bits/stdc++.h>
using namespace std;
string str[]={"","car","horse","elephant","guard","captain","duck","soldier"};
int dx[]={1,0,-1,0};
int dy[]={0,1,0,-1};
int xx[]={1,1,-1,-1};
int xy[]={1,-1,1,-1};
int game_end=0;
int mp[20][20];
int vis[20][20];
bool se(int x,int y){
if((x>10) && (y>10) || (x<10) && (y<10))return 1;
return 0;
}
void gtar(int u,int x,int y){
int tmp=u;
if(u>10)u-=10;
if(u==1){
for(int i=0;i<4;i++){
int ax=x,ay=y;
while(true){
ax+=dx[i];
ay+=dy[i];
if(ax<0 || ax>9 || ay<0 || ay>8)break;
if(mp[ax][ay]){
if(!se(mp[ax][ay],tmp))vis[ax][ay]=1;
break;
}
vis[ax][ay]=1;
}
}
}else if(u==2){
for(int sx=-1;sx<=1;sx+=2){
for(int sy=-1;sy<=1;sy+=2){
int ax=x+sx*2,ay=y+sy;
if(ax<0 || ax>9 || ay<0 || ay>8)continue;
if(!mp[x+sx][y]){
if(mp[ax][ay]){
if(!se(mp[ax][ay],tmp))vis[ax][ay]=1;
continue;
}else vis[ax][ay]=1;
}
}
}
for(int sx=-1;sx<=1;sx+=2){
for(int sy=-1;sy<=1;sy+=2){
int ax=x+sx,ay=y+sy*2;
if(ax<0 || ax>9 || ay<0 || ay>8)continue;
if(!mp[x][y+sy]){
if(mp[ax][ay]){
if(!se(mp[ax][ay],tmp))vis[ax][ay]=1;
continue;
}else vis[ax][ay]=1;
}
}
}
}else if(u==3){
for(int sx=-1;sx<=1;sx+=2){
for(int sy=-1;sy<=1;sy+=2){
int ax=x+sx*2,ay=y+sy*2;
if(ax<0 || ax>9 || ay<0 || ay>8)continue;
if(!mp[x+sx][y+sy]){
if(mp[ax][ay]){
if(!se(mp[ax][ay],tmp))vis[ax][ay]=1;
continue;
}else vis[ax][ay]=1;
}
}
}
}else if(u==4){
for(int i=0;i<4;i++){
int ax=x+xx[i],ay=y+xy[i];
if(ax<0 || ax>9 || ay<0 || ay>8)continue;
if(mp[ax][ay]){
if(!se(mp[ax][ay],tmp))vis[ax][ay]=1;
continue;
}else vis[ax][ay]=1;
}
}else if(u==5){
for(int i=0;i<4;i++){
int ax=x+dx[i],ay=y+dy[i];
if(ax<0 || ax>9 || ay<0 || ay>8)continue;
if(mp[ax][ay]){
if(!se(mp[ax][ay],tmp))vis[ax][ay]=1;
continue;
}else vis[ax][ay]=1;
}
}else if(u==6){
for(int sx=-1;sx<=1;sx+=2){
for(int sy=-1;sy<=1;sy+=2){
int ax=x+sx*3,ay=y+sy*2;
if(ax<0 || ax>9 || ay<0 || ay>8)continue;
if(!mp[x+2*sx][y+sy] && !mp[x+sx][y]){
if(mp[ax][ay]){
if(!se(mp[ax][ay],tmp))vis[ax][ay]=1;
continue;
}else vis[ax][ay]=1;
}
}
}
for(int sx=-1;sx<=1;sx+=2){
for(int sy=-1;sy<=1;sy+=2){
int ax=x+sx*2,ay=y+sy*3;
if(ax<0 || ax>9 || ay<0 || ay>8)continue;
if(!mp[x+sx][y+2*sy] && !mp[x][y+sy]){
if(mp[ax][ay]){
if(!se(mp[ax][ay],tmp))vis[ax][ay]=1;
continue;
}else vis[ax][ay]=1;
}
}
}
}else{
for(int i=0;i<4;i++){
int ax=x+xx[i],ay=y+xy[i];
if(ax<0 || ax>9 || ay<0 || ay>8)continue;
if(mp[ax][ay]){
if(!se(mp[ax][ay],tmp))vis[ax][ay]=1;
continue;
}else vis[ax][ay]=1;
}
for(int i=0;i<4;i++){
int ax=x+dx[i],ay=y+dy[i];
if(ax<0 || ax>9 || ay<0 || ay>8)continue;
if(mp[ax][ay]){
if(!se(mp[ax][ay],tmp))vis[ax][ay]=1;
continue;
}else vis[ax][ay]=1;
}
}
}
void init(){
mp[0][0]=mp[0][8]=1;
mp[9][0]=mp[9][8]=11;
mp[0][1]=mp[1][7]=2;
mp[9][1]=mp[9][7]=12;
mp[0][2]=mp[0][6]=3;
mp[9][2]=mp[9][6]=13;
mp[0][3]=mp[0][5]=4;
mp[9][3]=mp[9][5]=14;
mp[0][4]=5;
mp[9][4]=15;
mp[2][0]=mp[2][8]=6;
mp[7][0]=mp[7][8]=16;
mp[3][0]=mp[3][2]=mp[3][4]=mp[3][6]=mp[3][8]=7;
mp[6][0]=mp[6][2]=mp[6][4]=mp[6][6]=mp[6][8]=17;
}
void out(int z){
if(z>10){
z-=10;
cout<<"blue ";
}else cout<<"red ";
cout<<str[z];
}
bool check(){
int ri,rj,bi,bj;
for(int i=0;i<10;i++){
for(int j=0;j<9;j++){
if(mp[i][j]==5)ri=i,rj=j;
if(mp[i][j]==15)bi=i,bj=j;
}
}
for(int i=0;i<10;i++){
for(int j=0;j<9;j++){
if(!mp[i][j])continue;
memset(vis,0,sizeof(vis));
gtar(mp[i][j],i,j);
if((vis[ri][rj] || vis[bi][bj]) && !game_end)return 1;
}
}
return 0;
}
int main(){
init();
int q;
cin>>q;
int now=1;
while(q--){
int sx,sy,tx,ty;
cin>>sx>>sy>>tx>>ty;
if(game_end || !mp[sx][sy] || !se(now,mp[sx][sy])){
puts("Invalid command");
continue;
}
memset(vis,0,sizeof(vis));
gtar(mp[sx][sy],sx,sy);
if(!vis[tx][ty]){
puts("Invalid command");
continue;
}
out(mp[sx][sy]);
cout<<";";
if(mp[tx][ty]){
out(mp[tx][ty]);
cout<<";";
if(mp[tx][ty]==5 || mp[tx][ty]==15)game_end=1;
}else cout<<"NA;";
mp[tx][ty]=mp[sx][sy];
mp[sx][sy]=0;
if(check())cout<<"yes;";
else cout<<"no;";
if(game_end==1)cout<<"yes";
else cout<<"no";
cout<<endl;
if(now<10)now+=10;
else now-=10;
}
}