k, x = map(int, input().split()) if x == 0: print('Yes') print(1) print(k - 1 if k >= 1 else k + 1) exit() if k == 0: x += 1 if (x & -x) != x: print('No') exit() print('Yes') n = 0 while 2 ** n < x: n += 1 if k == 0: a = [2 ** i for i in range(n)] a += a print(len(a)) print(*a) exit() if n <= 0: print(1) print(k) exit() d = [] c = k while c: d.append(c & -c) c -= c & -c if len(d) >= n: while len(d) > n: d[-2] |= d[-1] d.pop(-1) d += d print(len(d)) print(*d) else: a = [] for i in range(20): if k & (1 << i): a.append(1 << i) for i in range(20): if len(a) >= n: break if ~k & (1 << i): a.append(1 << i) a += a print(len(a)) print(*a)