#include <bits/stdc++.h>
using namespace std;
struct gg {
  long long wei;
  char qi;
} gg[10];
int main() {
  long long xx, yy, x, y, n;
  char c;
  for (int i = 0; i < 9; i++) gg[i].qi = 'O';
  for (int i = 0; i < 4; i++) gg[i].wei = 2147483647 * 1ll * 10;
  for (int i = 4; i < 8; i++) gg[i].wei = 2147483647 * 1ll * 10 * -1;
  scanf("%I64d", &n);
  scanf("%I64d%I64d", &xx, &yy);
  for (int i = 0; i < n; i++) {
    getchar();
    scanf("%c%I64d%I64d", &c, &x, &y);
    x -= xx;
    y -= yy;
    if (x == 0 && y > 0)
      if (y < gg[0].wei) gg[0].wei = y, gg[0].qi = c;
    if (x == 0 && y < 0)
      if (y > gg[4].wei) gg[4].wei = y, gg[4].qi = c;
    if (y == 0 && x > 0)
      if (x < gg[2].wei) gg[2].wei = x, gg[2].qi = c;
    if (y == 0 && x < 0)
      if (x > gg[6].wei) gg[6].wei = x, gg[6].qi = c;
    if (x > 0 && y > 0 && x == y)
      if (x < gg[1].wei) gg[1].wei = x, gg[1].qi = c;
    if (x > 0 && y < 0 && x == -y)
      if (x < gg[3].wei) gg[3].wei = x, gg[3].qi = c;
    if (x < 0 && y < 0 && x == y)
      if (x > gg[5].wei) gg[5].wei = x, gg[5].qi = c;
    if (x < 0 && y > 0 && x == -y)
      if (x > gg[7].wei) gg[7].wei = x, gg[7].qi = c;
  }
  for (int i = 0; i < 8; i++) {
    if (i % 2) {
      if (gg[i].qi == 'B' || gg[i].qi == 'Q') {
        printf("YES\n");
        return 0;
      }
    } else {
      if (gg[i].qi == 'R' || gg[i].qi == 'Q') {
        printf("YES\n");
        return 0;
      }
    }
  }
  printf("NO\n");
  return 0;
}
