from pulp import * N,P,Q = list(map(int,input().split())) friend = [] for _ in range(N): x,a,b = list(map(int,input().split())) friend.append((x,a,b)) p = LpProblem(sense=LpMaximize) p += 0 ans = [[LpVariable(f"a_{i}",lowBound=0,cat=LpInteger), LpVariable(f"b_{i}",lowBound=0,cat=LpInteger)] for i in range(N)] for i in range(N): x,a,b = friend[i] p += ans[i][0] + ans[i][1] == x p += ans[i][0] <= a p += ans[i][1] <= b p += lpSum(i[0] for i in ans) <= P p += lpSum(i[1] for i in ans) <= Q solver = PULP_CBC_CMD(msg=False, timeLimit=1.5) a = p.solve(solver) if(a == 1): print("Yes") for i in ans: print(round(i[0].value()), round(i[1].value())) else: print("No")