let rec pow a n = if n <= 0 then 1 else a * pow a (n-1)
let mod_mul a b = (a * b) mod 1000000007
let rec for_iter a b f = if a >= b then [] else let x = f a in x :: for_iter (a+1) b f
let is_prime x = 
  if x <= 1 then false
  else
    for_iter 2 x (fun i -> x mod i)
    |> List.for_all ((<>) 0)

let n = Scanf.scanf "%d" (fun x -> x)
let () =
  for_iter 2 (n+1) (fun d ->
    if not (is_prime d) then
      1
    else
      let v = for_iter 1 15 (fun p -> n / pow d p)
        |> List.fold_left (+) 0
      in v+1
  ) |> List.fold_left mod_mul 1
  |> Printf.printf "%d\n"