def main(): n, k, x, y = map(int, input().split()) if k == 1: Ans = [x] + [x+1+i for i in range(n-2)] + [y] if Ans[-2] < Ans[-1]: return Ans else: return [] if y == 0: return [] if x == 0: if k + 1 == n: return [x] + [0] * (n-2) + [y] if y == 1: return [] Ans = [x] + [2] * (k-2) + [4] tmp = 0 for a in Ans: tmp ^= a Ans.append(tmp+1) while n - 1 - len(Ans): Ans.append(Ans[-k]) Ans.append(y) return Ans if not k % 2: Ans = [x] + [x] * (n-2) + [y] return Ans if x != 1: Ans = [x] + [1] * (k-2) else: Ans = [x] + [2] * (k-2) tmp = 0 for a in Ans: tmp ^= a Ans.append(tmp) while n - 1 - len(Ans): Ans.append(Ans[-k]) Ans.append(y) return Ans Ans = main() if Ans: print("Yes") print(*Ans) else: print("No")