import sys def main(): input = sys.stdin.readline N, P, Q = map(int, input().split()) X = [] A = [] B = [] for _ in range(N): xi, ai, bi = map(int, input().split()) X.append(xi); A.append(ai); B.append(bi) totalX = sum(X) if totalX != P + Q: print("No") return L = [0]*N R = [0]*N sumL = 0 sumR = 0 for i in range(N): # t1_i must be at least Xi - Bi (because t2_i <= Bi), and at least 0 Li = max(0, X[i] - B[i]) Ri = min(A[i], X[i]) if Li > Ri: print("No") return L[i] = Li R[i] = Ri sumL += Li sumR += Ri if not (sumL <= P <= sumR): print("No") return # construct solution: start with t1 = L, distribute remaining (P - sumL) rem = P - sumL t1 = L[:] # current allocation for type1 for i in range(N): add = min(rem, R[i] - L[i]) if add: t1[i] += add rem -= add if rem == 0: break # t2_i = X_i - t1_i print("Yes") for i in range(N): print(t1[i], X[i] - t1[i]) if __name__ == "__main__": main()