#include //#include using namespace std; //using namespace atcoder; using ll = long long; //using mint = modint998244353; int main(){ cin.tie(nullptr); ios_base::sync_with_stdio(false); /* A_i = min(A_i, X_i) B_i = min(B_i, X_i) としておく。 X_i <= A_i+B_iか確認する。 タイプ1をA_iだけ持たせ、タイプ2をX_i-A_i(<=B_i)だけ持たせる。 タイプ1が不足しているならタイプ2とタイプ1を交換。 i人目が交換できる枚数はY_i=min(A_i, B_i-(X_i-A_i))枚。 タイプ1の不足枚数がS枚のとき、タイプ2はS枚以上ある必要があり、sum_i Y_i >= Sでないといけない。 */ ll N, P, Q; cin >> N >> P >> Q; vector X(N), A(N), B(N), p(N), q(N); for (int i=0; i> X[i] >> A[i] >> B[i]; A[i] = min(A[i], X[i]); B[i] = min(B[i], X[i]); if (X[i] > A[i]+B[i]){ cout << "No" << endl; return 0; } p[i] = A[i]; q[i] = X[i]-A[i]; P -= p[i]; Q -= q[i]; } if (P < 0){ ll remain=-P; for (int i=0; i