N,P,Q = map(int,input().split()) X = [list(map(int,input().split())) for _ in range(N)] X = [(X[i][0],X[i][1],X[i][2],i) for i in range(N)] X = sorted(X,key=lambda x:x[1]+x[2]-x[0],reverse=True) flag = True for i in range(N): if X[i][0]>X[i][1]+X[i][2]: flag = False break ans = "No" if flag: A = [X[i][0]-X[i][2] for i in range(N)] sumA = sum(A) sumX = sum(X[i][0] for i in range(N)) if sumX-Q<=sumA<=P: ans = "Yes" else: for i in range(N): da = X[i][1]+X[i][2]-X[i][0] sumA += da A[i] += da if sumX-Q<=sumA<=P: ans = "Yes" break elif sumA>P: A[i] -= sumA-P sumA = P ans = "Yes" break print(ans) if ans=="Yes": B = [0]*N C = [0]*N for i in range(N): B[X[i][3]] = A[i] C[X[i][3]] = X[i][0]-A[i] for i in range(N): print(B[i],C[i])