#include using namespace std; using ll = long long; #define rep(i, n) for (int i = 0; i < (int)(n); i++) int main() { cin.tie(nullptr); ios_base::sync_with_stdio(false); int n, d; cin >> n >> d; vector a(n), b(n), c(n); rep(i, n) cin >> a[i] >> b[i] >> c[i]; vector dp(1 << n, 1LL << 60); dp[0] = 0; vector AL(1 << n, 0); vector CR(1 << n, d); rep(i, 1 << n) { rep(j, n) { if (i >> j & 1) { AL[i] += a[j]; } else { CR[i] -= c[j]; } } } rep(i, 1 << n) { rep(j, n) { if (i >> j & 1) continue; ll al = AL[i ^ (1 << j)]; ll cr = CR[i]; ll nx = max(dp[i], al) + b[j]; if (cr < nx) continue; dp[i ^ (1 << j)] = min(dp[i ^ (1 << j)], nx); } } cout << (dp.back() == 1LL << 60 ? "No" : "Yes") << endl; return 0; }