output_description: Print the count.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
attempt: def factorization(n):
      def factor_sub(n, m):
          c = 0
          while n % m == 0:
              c += 1
              n /= m
          return c, n
  
      #
      buff = []
      c, m = factor_sub(n, 2)
      if c > 0:
          buff.append((2, c))
      c, m = factor_sub(m, 3)
      if c > 0:
          buff.append((3, c))
      x = 5
      while m >= x * x:
          c, m = factor_sub(m, x)
          if c > 0:
              buff.append((x, c))
          if x % 6 == 5:
              x += 2
          else:
              x += 4
      if m > 1:
          buff.append((m, 1))
      return buff
  
  
  def divisor_num(n):
      a = 1
      for _, x in factorization(n):
          a *= x + 1
      return a
  
  
  n = int(input())
  
  cnt = 0
  for x in range(n + 1):
      if x % 2 == 1:
          if divisor_num(x) == 8:
              cnt += 1
  print(cnt)
  
problem_description: 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)?
samples: [{"input": "105", "output": "1\n    \n\nAmong the numbers between 1 and 105, the only number that is odd and has\nexactly eight divisors is 105.\n\n* * *"}, {"input": "7", "output": "0\n    \n\n1 has one divisor. 3, 5 and 7 are all prime and have two divisors. Thus, there\nis no number that satisfies the condition."}]