


from math import isqrt






def 				__lowercase  (					__lowerCAmelCase				:							int  ):
							a__			 =	[True] * max_number
							for i in range(2   ,       isqrt(max_number - 1  ) + 1  ):
														if is_prime[i]:
																					for j in range(i**2   ,       SCREAMING_SNAKE_CASE_   ,       SCREAMING_SNAKE_CASE_  ):
																												a__			 =	False

							return [i for i in range(2   ,       SCREAMING_SNAKE_CASE_  ) if is_prime[i]]






def 				__lowercase  (					__lowerCAmelCase				:							int = 1_0**8  ):
							a__			 =	calculate_prime_numbers(max_number // 2  )

							a__			 =	0
							a__			 =	0
							a__			 =	len(SCREAMING_SNAKE_CASE_  ) - 1
							while left <= right:
														while prime_numbers[left] * prime_numbers[right] >= max_number:
																					right -= 1
														semiprimes_count += right - left + 1
														left += 1

							return semiprimes_count


if __name__ == "__main__":
						print(f"""{solution() = }""")











def      A__       (    SCREAMING_SNAKE_CASE_   :      int						)  ->  bool:






   """simple docstring"""







   if not isinstance(SCREAMING_SNAKE_CASE_				,	SCREAMING_SNAKE_CASE_						):
      _UpperCAmelCase           =   F'''Input value of [number={number}] must be an integer'''
      raise TypeError(SCREAMING_SNAKE_CASE_						)
   if number < 0:
      return False
   _UpperCAmelCase           =   number * number
   while number > 0:
      if number % 10 != number_square % 10:
         return False
      number //= 10
      number_square //= 10
   return True


if __name__ == "__main__":
   import doctest

   doctest.testmod()