module IntMap = Map.Make (struct
  type t = int
  let compare = compare
end)

let rec factorize acc i n =
  if n <= 1 then acc
  else if n < i * i then n :: acc
  else if n mod i = 0 then factorize (i :: acc) i (n / i)
  else factorize acc (i + 1) n
let factorize n =
  match factorize [] 2 n with
  | [] -> []
  | p :: ps ->
      let (acc, p, n) = List.fold_left (fun (acc, p, n) q ->
        if p = q
        then (acc, p, n + 1)
        else ((p, n) :: acc, q, 1)) ([], p, 1) ps in
      (p, n) :: acc

let rec solve x = function
  | [] -> if x = 1 then 1 else 0
  | n :: rest ->
      Array.fold_left ( + ) 0 @@
      Array.init (n + 1) @@ fun i ->
        if x mod (i + 1) <> 0 then 0
        else solve (x / (i + 1)) rest
let solve = solve 75

let () = Scanf.scanf "%d" @@ fun n ->
  Printf.printf "%d\n" @@
  solve @@
  List.map snd @@
  IntMap.bindings @@
  Array.fold_left (List.fold_left (fun pf (p, n) ->
    IntMap.add p (n + try IntMap.find p pf with Not_found -> 0) pf)) IntMap.empty @@
  Array.init n @@ fun i -> factorize @@ i + 1

