#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; rep(i, 1 << n) { rep(j, n) { if (i >> j & 1) continue; ll al = 0; ll cr = d; rep(k, n) { if (j == k || i >> k & 1) { al += a[k]; } if (j == k || (i >> k & 1) == 0) { cr -= c[k]; } } 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; }