k,x=map(int,input().split()) if x==0: print("Yes") print(1) if k==0:print(1) else:print(0) exit() if x==1: print("Yes") print(1) print(k) exit() if k==0:x+=1 l=x.bit_length()-1 if 2**l!=x:exit(print("No")) ngbit=(k&-k).bit_length()-1 used=[] ans=[0] l-=1 for i in range(20): if l==0:break if i==ngbit:continue used.append(i) ans+=[2**i]*2 l-=1 for j in used: if l<2:break ans+=[2**i+2**j]*2 l-=2 if k!=0:ans.append(k) print("Yes") print(len(ans)) print(*ans)