import Data.List
import Control.Applicative

main = do
  [n,z] <- map read . words <$> getLine :: IO [Int]
  let ans = solve n z
  putStrLn $ if null ans then "No" else "Yes"
  mapM_ print ans

solve n z
  | z == 1 || z == n*2-1 = []
  | otherwise = b ++ [z-1,z,z+1] ++ a
  where (a,b) = splitAt (n-2) ([1..z-2] ++ [z+2..n*2-1])