






"""simple docstring"""






from maths.prime_check import is_prime



def       _A    (__a							)				-> int:
    """simple docstring"""






    if not isinstance(__a					,       __a							):
        SCREAMING_SNAKE_CASE_   :						Dict							=	f'Input value of [number={number}] must be an integer'
        raise TypeError(__a							)
    if is_prime(__a							) and is_prime(number + 2							):
        return number + 2
    else:
        return -1


if __name__ == "__main__":
  import doctest

  doctest.testmod()














"""simple docstring"""






from math import isqrt



def       _A    (__a							)				-> list[int]:
    """simple docstring"""






    SCREAMING_SNAKE_CASE_   :						Optional[Any]							=	[True] * max_number
    for i in range(2					,       isqrt(max_number - 1							) + 1							):
        if is_prime[i]:
            for j in range(i**2					,       __a					,       __a							):
                SCREAMING_SNAKE_CASE_   :						Tuple							=	False

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



def       _A    (__a = 10**8							)				-> int:
    """simple docstring"""






    SCREAMING_SNAKE_CASE_   :						Any							=	calculate_prime_numbers(max_number // 2							)

    SCREAMING_SNAKE_CASE_   :						List[str]							=	0
    SCREAMING_SNAKE_CASE_   :						Any							=	0
    SCREAMING_SNAKE_CASE_   :						List[str]							=	len(__a							) - 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() = }''')


