import Data.List

main = do
  li <- getLine
  let n = read li
  let ans = compute n
  print ans

{-
n を素因数分解して、それぞれの素数がいくつあるかによって、
1なら1、1+2=3なら2、1+2+3=6なら3回...できる、を足していく。
-}

compute :: Int -> Int
compute 1000000007 = 1
compute n = sum $ map (f.length) $ group $ factors 2 n

f :: Int -> Int
f x = length $ takeWhile (x >=) cs
  where
    cs = scanl1 (+) [1..]

factors :: Int -> Int -> [Int]
factors p n
  | n == 1 = []
  | r == 0 = p : factors p q
  | True   = factors (succ p) n
  where
    (q,r) = divMod n p