#include #include #include using namespace std; #define lli long long int struct values{ lli x; lli y; lli fl; lli yes; }ds[10]; int getdir(lli x,lli y,lli u,lli v){ if(x==u&&yv) return 1; if(xu&&y==v) return 3; if(x>u&&yu&&y>v) return 5; if(xv) return 6; if(x y||ds[fl].fl == 0) { ds[fl].x = x; ds[fl].y = y; ds[fl].yes = type; ds[fl].fl = 1; } } else if(fl==1){ if(ds[fl].y < y||ds[fl].fl == 0) { ds[fl].x = x; ds[fl].y = y; ds[fl].yes = type; ds[fl].fl = 1; } } if(fl==2){ if(ds[fl].x > x||ds[fl].fl == 0) { ds[fl].x = x; ds[fl].y = y; ds[fl].yes = type; ds[fl].fl = 1; } } if(fl==3){ if(ds[fl].x < x||ds[fl].fl == 0) { ds[fl].x = x; ds[fl].y = y; ds[fl].yes = type; ds[fl].fl = 1; } } if(fl==4){ if(ds[fl].xy||ds[fl].fl == 0) { ds[fl].x = x; ds[fl].y = y; ds[fl].yes = type; ds[fl].fl = 1; } } if(fl==5){ if(ds[fl].xx&&ds[fl].yx&&ds[fl].y>y||ds[fl].fl == 0) { ds[fl].x = x; ds[fl].y = y; ds[fl].yes = type; ds[fl].fl = 1; } } } int main(){ for(int i=0;i<8;i++){ ds[i].fl = 0; ds[i].yes = 0; //cout<>t){ cin>>x>>y; fl = 0; for(int i=0;i>c>>u>>v; int in = getdir(x,y,u,v); //cout<=0&&in<=3){ comp(u,v,x,y,1); } else if(in>=4&&in<=7) { comp(u,v,x,y,0); } } else if(c=='B'){ if(in>=4&&in<=7){ comp(u,v,x,y,1); } else if(in>=0&&in<=3){ comp(u,v,x,y,0); } } else if(c=='Q'){ if(in>=0&&in<=7) comp(u,v,x,y,1); } } for(int i=0;i<8;i++) if(ds[i].yes) fl = 1; if(fl==1){ cout<<"YES"<