N,P,Q = map(int,input().split()) C = [list(map(int,input().split())) for i in range(N)] sumX = 0 for i in range(N): sumX += C[i][0] D = [[max(0,C[i][0]-C[i][2]),min(C[i][0],C[i][1])] for i in range(N)] E = [D[i][0] for i in range(N)] flag = "Yes" for i in range(N): if D[i][0]>D[i][1]: flag = "No" break if sum(E)>P: flag = "No" if sumX>P+Q: flag = "No" if flag=="No": print("No") else: delta = sumX-Q-sum(E) slack = P-sum(E) flag = "No" for i in range(N): if delta<=0: flag = "Yes" break d = min(D[i][1]-D[i][0],delta,slack) slack -= d delta -= d E[i] += d if delta<=0: flag = "Yes" if flag=="No": print("No") else: print("Yes") for i in range(N): print(E[i],C[i][0]-E[i])