module Main where import Control.Monad import Data.List normal :: Integer -> [Integer] normal n = takeWhile (> 0) $ iterate (`div` 2) n special :: [Integer] -> Integer special [] = 0 special xs = (sum $ init xs) + last xs * 2 main :: IO () main = do n <- readLn :: IO Integer let ns = normal n let ss = fmap special (inits ns) print $ maximum ss - sum ns