#include #include #include using u32 = unsigned int; using i64 = long long; using u64 = unsigned long long; using v32 = std::vector; using v64 = std::vector; void solve() { i64 N, P, Q; std::cin >> N >> P >> Q; v64 X(N), A(N), B(N), res(N); i64 sum1 = 0, sum2 = 0; for (int i = 0; i < N; i++) { std::cin >> X[i] >> A[i] >> B[i]; if (X[i] > A[i] + B[i]) { std::cout << "No\n"; return; } sum1 += X[i]; res[i] = X[i] - B[i]; sum2 += res[i]; } if (sum1 > P + Q) { std::cout << "No\n"; return; } i64 diff = P - sum2; i64 sum3 = 0; for (int i = 0; i < N; i++) { if (diff > A[i] - res[i]) { diff -= A[i] - res[i]; res[i] = A[i]; } else { res[i] += diff; diff = 0; } sum3 += X[i] - res[i]; } if (sum3 > Q) { std::cout << "No\n"; return; } std::cout << "Yes\n"; for (int i = 0; i < N; i++) { std::cout << res[i] << " " << X[i] - res[i] << '\n'; } } signed main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); std::cout.tie(nullptr); int T = 1; // std::cin >> T; while (T--) solve(); return 0; }