
{-# LANGUAGE TupleSections #-}

import Data.Array (accumArray, (!), elems)

ptable = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47]

pfact [] n = []
pfact _ 1 = []
pfact (p:ps) n
  | mod n p == 0 = p : pfact (p:ps) (div n p)
  | otherwise = pfact ps n

c m = length . filter (>=(m-1))

main = do
  n <- read <$> getLine
  let fact = filter (>1) . elems . accumArray (+) 0 (2,47) . concat $
                [map (,1) $ pfact ptable x | x<-[2..n]] 
  print $ sum [ c 75 fact
              , c 25 fact * (c 3 fact - 1)
              , c 15 fact * (c 5 fact - 1)
              -- aC2 == aP2 / 2
              , ((c 5 fact * (c 5 fact - 1)) `div` 2) * (c 3 fact - 2)
              ]
