import Data.List
import System.Environment (getArgs)

-- http://tnomura9.exblog.jp/12332000/
factors :: Integer -> [Integer]
factors n = [x | x <- [1..n], n `mod` x == 0]

factorization :: Integer -> [Integer]
factorization 1 = []
factorization x = v : factorization (x `div` v)
  where v = (factors x) !! 1

primeList 2 = [2]
primeList n = (factorization n) ++ (primeList (n - 1))

answer 1 = 1
answer n = foldr f 1 $ map g $ groupBy (==) $ sort $ primeList n
  where f x p = (x * p) `rem` 1000000007
        g l = (fromIntegral 1) + (fromIntegral (length l))

main = do
  n <- readLn
  print $ answer (n :: Integer)
