import sys def main(): data = sys.stdin.read().split() N = int(data[0]) K = int(data[1]) X = int(data[2]) Y = int(data[3]) if Y == 0: print("No") return if K % 2 != 0: print("No") return A = [0] * N A[0] = X if K >= 2: A[1] = X for i in range(2, K): A[i] = 0 else: pass for i in range(K, N - K): A[i] = 1 if N - K < N: A[N - K] = Y for i in range(N - K + 1, N - 1): A[i] = 0 A[N - 1] = Y B = [0] * (N + 1) for i in range(1, N + 1): B[i] = B[i - 1] ^ A[i - 1] valid = True for i in range(K, N): s = B[i] ^ B[i - K] if s >= A[i]: valid = False break if valid: print("Yes") print(" ".join(map(str, A))) else: print("No") if __name__ == '__main__': main()