import Control.Applicative

populate core n left =
  take (n-2) left++core++drop (n-2) left

solve n x m | x == 1 = "No\n"
            | x == m = "No\n"
            | otherwise = unlines $ ("Yes":) $ map show $ populate [x-1,x,x+1] n $ [1..x-2]++[x+2..m]

main = do
  [n,x] <- map read.words <$> getLine :: IO [Int]
  let m = 2*n-1
  putStr $ solve n x m
