# -*- coding:utf-8 -*-
while True:
n,sumtime = raw_input().split(" ")
n = int(n)
sumtime = int(sumtime)
minls = []
maxls = []
while n:
imin,imax = raw_input().split(" ")
minls.append( int(imin) )
maxls.append(int(imax))
n-=1
if sum(maxls)< sumtime:
print "No"
elif sum(minls)>sumtime:
print "No"
else:
print "Yes"
leve = sumtime-sum(minls)
for i in range(len(minls)):
if leve ==0:
break
if leve>= (maxls[i]-minls[i]):
leve -= maxls[i]-minls[i]
minls[i] =maxls[i]
else:
minls[i] += leve
leve = 0
result = ""
for h in minls:
result = result+str(h)+" "
print result