gets.to_i.times do d,x=gets.split.map &:to_i if d==0 if x==1 puts "Yes\n0 0" else puts "No" end next end b=((d+1)/2..d).bsearch{|v|[v-(d-v)+1,0].max*4>=x}||d if [b,(d-b)+1,0].max*4>=x&&[b-(d-b)-1,0].max*4