import Data.Bits
import Data.List
import Control.Monad
import qualified Data.Vector.Unboxed as V
import Control.Monad.ST
import Data.Maybe (fromMaybe)
import qualified Data.ByteString.Lazy.Char8 as B
import Debug.Trace

main :: IO ()
main = do
  [n,d] <- map read.words <$> getLine :: IO [Int]
  print $ if n `mod` (2*d + 1) == 0 then n `div` (2*d+1) else 1 + (n `div` (2*d+1))
