fun main(args: Array<String>) {
    val (N, X) = listOfInt()
    if (X == 1 || X == 2 * N - 1) { println("No"); return }
    println("Yes")
    val A = IntArray(2 * N - 1)
    A[N - 2] = X - 1; A[N - 1] = X; A[N] = X + 1
    val B = (1..2 * N - 1).toMutableList()
    B.removeAll(listOf<Int>(X - 1, X, X + 1))
    var b = 0
    for (n in 0 until N - 2) A[n] = B[b++]
    for (n in N + 1 until 2 * N - 1) A[n] = B[b++]
    println(A.joinToString(separator = " "))
}

fun next() = readLine()!!
fun listOfString() = next().split(" ")
fun listOfInt(delta: Int = 0) = listOfString().map { Integer.parseInt(it) + delta }
