Problem:
Score: 200 points

Problem Statement

The number 105 is quite special - it is odd but still it has eight divisors.
Now, your task is this: how many odd numbers with exactly eight positive divisors are there between 1 and N (inclusive)?

Constraints

N is an integer between 1 and 200 (inclusive).

Input

Input is given from Standard Input in the following format:

N

Output

Print the count.

Sample Input 1

105

Sample Output 1

1

Among the numbers between 1 and 105, the only number that is odd and has exactly eight divisors is 105.

Sample Input 2

7

Sample Output 2

0

1 has one divisor. 3, 5 and 7 are all prime and have two divisors. Thus, there is no number that satisfies the condition.

Solution in Haskell (GHC 8.8.3) (judge verdict: Accepted)

import qualified Data.ByteString.Char8 as BS
import Data.Maybe
import Control.Monad


readInt = fst . fromJust . BS.readInteger
getInt = readInt <$> BS.getLine

primeFactrization :: Integer -> Integer -> [Integer]
primeFactrization n i
                  | n < i = []
                  | isDivisor = [i] ++ primeFactrization n (i + 1)
                  | not isDivisor  = primeFactrization n (i + 1)
                  | otherwise = []
                  where
                      isDivisor = if n `mod` i == 0 then True else False

hyakugo :: Integer -> [Integer]
hyakugo n
        | n < 1 = []
        | muchLen && isOdd  = [n] ++ hyakugo (n - 1)
        | otherwise = hyakugo (n - 1)
        where
            numPF = length (primeFactrization n 1)
            isOdd = if n `mod` 2 == 0 then False else True
            muchLen = if numPF == 8 then True else False
            
main = do
     n <- getInt
     print $ length (hyakugo n)