#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  int x, y, x0, y0;
  vector<pair<char, pair<int, int> > > pnts;
  int blocked[8];
  for (int i = 0; i < 8; i++) {
    blocked[i] = 1e9 * 2 + 10;
  }
  char c;
  cin >> n >> x >> y;
  for (int i = 0; i < n; i++) {
    cin >> c >> x0 >> y0;
    pnts.push_back(make_pair(c, make_pair(x0, y0)));
    if (x0 > x && y0 == y) {
      blocked[0] = min(x0 - x, blocked[0]);
    } else if (x0 > x && y0 > y && x0 - x == y0 - y) {
      blocked[1] = min(x0 - x, blocked[1]);
    } else if (x0 == x && y0 > y) {
      blocked[2] = min(y0 - y, blocked[2]);
    } else if (x0 < x && y0 > y && x - x0 == y0 - y) {
      blocked[3] = min(y0 - y, blocked[3]);
    } else if (x0 < x && y0 == y) {
      blocked[4] = min(x - x0, blocked[4]);
    } else if (x0 < x && y0 < y && y - y0 == x - x0) {
      blocked[5] = min(y - y0, blocked[5]);
    } else if (x0 == x && y0 < y) {
      blocked[6] = min(y - y0, blocked[6]);
    } else if (x0 > x && y0 < y && y - y0 == x0 - x) {
      blocked[7] = min(y - y0, blocked[7]);
    }
  }
  for (int i = 0; i < n; i++) {
    c = pnts[i].first;
    x0 = pnts[i].second.first;
    y0 = pnts[i].second.second;
    if (c == 'R') {
      if (x0 == x && y0 > y && y0 - y == blocked[2]) {
        cout << "YES" << endl;
        return 0;
      } else if (x0 == x && y0 < y && y - y0 == blocked[6]) {
        cout << "YES" << endl;
        return 0;
      } else if (x0 > x && y == y0 && x0 - x == blocked[0]) {
        cout << "YES" << endl;
        return 0;
      } else if (x0 < x && y == y0 && x - x0 == blocked[4]) {
        cout << "YES" << endl;
        return 0;
      }
    }
    if (c == 'Q' && (abs(x0 - x) == abs(y0 - y) || x0 == x || y0 == y)) {
      if (x0 > x && y0 > y && x0 - x == y0 - y && blocked[1] >= y0 - y) {
        cout << "YES" << endl;
        return 0;
      } else if (x0 < x && y0 > y && x - x0 == y0 - y && blocked[3] >= y0 - y) {
        cout << "YES" << endl;
        return 0;
      } else if (x0 < x && y0 < y && x0 - x == y0 - y && blocked[5] >= y - y0) {
        cout << "YES" << endl;
        return 0;
      } else if (x0 > x && y0 < y && x0 - x == y - y0 && blocked[7] >= x0 - x) {
        cout << "YES" << endl;
        return 0;
      } else if (x0 == x && y0 > y && y0 - y == blocked[2]) {
        cout << "YES" << endl;
        return 0;
      } else if (x0 == x && y0 < y && y - y0 == blocked[6]) {
        cout << "YES" << endl;
        return 0;
      } else if (x0 > x && y == y0 && x0 - x == blocked[0]) {
        cout << "YES" << endl;
        return 0;
      } else if (x0 < x && y == y0 && x - x0 == blocked[4]) {
        cout << "YES" << endl;
        return 0;
      }
    }
    if (c == 'B' && abs(x0 - x) == abs(y0 - y)) {
      if (x0 > x && y0 > y && x0 - x == y0 - y && blocked[1] == y0 - y) {
        cout << "YES" << endl;
        return 0;
      } else if (x0 < x && y0 > y && x - x0 == y0 - y && blocked[3] == y0 - y) {
        cout << "YES" << endl;
        return 0;
      } else if (x0 < x && y0 < y && x0 - x == y0 - y && blocked[5] == y - y0) {
        cout << "YES" << endl;
        return 0;
      } else if (x0 > x && y0 < y && x0 - x == y - y0 && blocked[7] == x0 - x) {
        cout << "YES" << endl;
        return 0;
      }
    }
  }
  cout << "NO" << endl;
}
