#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using namespace atcoder; #define int long long using mint=modint998244353; double pi=3.141592653589793128; //cout << fixed << setprecision(10); #define all(x) (x).begin(),(x).end() #define rep(i,n) for (int i=0;i<(n);++i) #define prep(i,n) for (int i=1;i<=(n);++i) #define ep(i,j,n) for (int i=j+1;i<=(n);++i) long long INF = 900000000000000; int mod=998244353; signed main(){ int n,P,Q;cin>>n>>P>>Q; int x[n],a[n],b[n]; rep(i,n){cin>>x[i]>>a[i]>>b[i];if(a[i]+b[i] ans[n]; rep(i,n)ans[i]={0,0}; vector> p; rep(i,n)p.push_back({x[i]-b[i],i}); sort(all(p)); rep(i,n){ if(p[i].first<=0)continue; P-=p[i].first; ans[p[i].second].first+=p[i].first; a[p[i].second]-=p[i].first; } if(P<0){cout<<"No";return 0;} //cout<> pp; rep(i,n)pp.push_back({a[i],i}); sort(all(pp)); rep(i,n){ int z=ans[pp[i].second].first; int y=ans[pp[i].second].second; int hh=min(b[pp[i].second],Q); hh=min(hh,x[pp[i].second]-z-y); y+=hh; Q-=hh; int u=min(a[pp[i].second],P); int zero=0; int h=max(zero,x[pp[i].second]-z-y); u=min(u,h); z+=u; P-=u; // cout<