howManyGuards :: Int -> Int -> Int
howManyGuards n coverRange
  | n `mod` coverRange == 0 = n `div` coverRange
  | otherwise = (n `div` coverRange) + 1

coverRange :: Int -> Int
coverRange d = 1 + d * 2

main = do
  [n, d] <- map read . words <$> getLine :: IO [Int]
  print $ howManyGuards n $ coverRange d