import qualified Data.ByteString.Char8 as BS
import Data.Char
import Debug.Trace
import Data.List (unfoldr)
import Control.Monad
import qualified Data.Vector.Unboxed as UV

main = do
    n <- UV.head . UV.unfoldr BS.readInt <$> BS.getLine
    print $ length $ filter (\x -> odd $ length $ show x) [1..n]
