#include <bits/stdc++.h>
using namespace std;
struct range {
  long long mn, mx;
};
const int N = 150;
range a[N];
range move_and_and(range prv, long long d, range cur) {
  prv.mn -= d;
  prv.mx += d;
  prv.mn = max(prv.mn, cur.mn);
  prv.mx = min(prv.mx, cur.mx);
  return prv;
}
int main() {
  int q;
  scanf("%d", &q);
  while (q--) {
    int n;
    long long m;
    cin >> n >> m;
    range range_cur = {m, m};
    long long lst_time = 0;
    bool can = true;
    for (int i = 0; i < n; i++) {
      long long t, x, y;
      cin >> t >> x >> y;
      long long d = t - lst_time;
      range_cur = move_and_and(range_cur, d, range{x, y});
      if (range_cur.mn > range_cur.mx) can = false;
      lst_time = t;
    }
    if (can) {
      puts("YES");
    } else {
      puts("NO");
    }
  }
}
