import Data.Array
import Data.Array.ST
import Control.Monad
import Control.Monad.ST

prime100::[Int]
prime100=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97]

decomp_vec::STArray s Int Int -> Int -> ST s ()
decomp_vec ar n = case n of
                  1         -> return ()
                  otherwise -> do
                                let d = head (dropWhile (\ v -> mod n v /= 0) prime100)
                                v<-readArray ar d
                                writeArray ar d (v+1)
                                decomp_vec ar (div n d)
                                return ()

gen_vec::Int -> Array Int Int
gen_vec n = runSTArray $ do
                    ar<- newArray (1,100) 0
                    forM_ [1..n] (decomp_vec ar)
                    return ar

calc_vec_2_4_4::[Int]->Int
calc_vec_2_4_4 ls = let over2 = length (filter (2<=) ls) in
                    let over4 = length (filter (4<=) ls) in
                    if (over4 < 2) || (over2 < 1)  then 0 else  (over2-2)*(div (over4*(over4-1)) 2)

calc_vec_4_14::[Int]->Int
calc_vec_4_14 ls = let over4 = length (filter (4<=) ls) in
                   let over14 = length (filter (14<=) ls) in
                   if (over4 < 1) || (over14 < 1)  then 0 else  over14*(over4-1)

calc_vec_2_24::[Int]->Int
calc_vec_2_24 ls = let over2 = length (filter (2<=) ls) in
                   let over24 = length (filter (24<=) ls) in
                   if (over2 < 1) || (over24 < 1)  then 0 else  over24*(over2-1)

calc_vec_74::[Int]->Int
calc_vec_74 ls = length (filter (74<=) ls)

solver::Int->Int
solver n = let ls =  (elems (gen_vec n))in
           (calc_vec_2_4_4 ls) + (calc_vec_4_14 ls) + (calc_vec_2_24 ls) + (calc_vec_74 ls)

main::IO()
main=(print.solver.read)=<<getLine