



"""simple docstring"""







from __future__ import annotations

from collections.abc import Generator

def 				UpperCamelCase_    (    )						->   int:

  """simple docstring"""




  lowerCAmelCase_   :				int								= {}
  lowerCAmelCase_   :				Tuple								= 2
  while True:
    lowerCAmelCase_   :				str								= factor_map.pop(lowerCAmelCase__    ,   lowerCAmelCase__						)
    if factor:
      lowerCAmelCase_   :				Optional[int]								= factor + prime
      while x in factor_map:
        x += factor
      lowerCAmelCase_   :				Any								= factor
    else:
      lowerCAmelCase_   :				List[Any]								= prime
      yield prime
    prime += 1

def 				UpperCamelCase_    (    lowerCAmelCase__      :				Union[str, Any] = 1e10						)						->   List[str]:

  """simple docstring"""




  lowerCAmelCase_   :				Optional[int]								= sieve()

  lowerCAmelCase_   :				Optional[Any]								= 1
  while True:
    lowerCAmelCase_   :				Any								= next(lowerCAmelCase__						)
    if (2 * prime * n) > limit:
      return n
    # Ignore the next prime as the reminder will be 2.
    next(lowerCAmelCase__						)
    n += 2


if __name__ == "__main__":
     print(solution())












"""simple docstring"""
from math import isqrt, loga






def 					A__				(			UpperCamelCase       ):
							A		=  [True] * max_number
							for i in range(2					,  isqrt(max_number - 1       ) + 1       ):
														if is_prime[i]:
																					for j in range(i**2					,  UpperCamelCase					,  UpperCamelCase       ):
																												A		=  False

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






def 					A__				(			UpperCamelCase = 800_800					,  UpperCamelCase = 800_800       ):
							A		=  degree * loga(UpperCamelCase       )
							A		=  int(UpperCamelCase       )
							A		=  calculate_prime_numbers(UpperCamelCase       )

							A		=  0
							A		=  0
							A		=  len(UpperCamelCase       ) - 1
							while left < right:
														while (
														    prime_numbers[right] * loga(prime_numbers[left]       )
														    + prime_numbers[left] * loga(prime_numbers[right]       )
														    > upper_bound
														):
																					right -= 1
														hybrid_integers_count += right - left
														left += 1

							return hybrid_integers_count


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


