






from __future__ import annotations

from collections.abc import Generator


def        _a  (     ) ->   Generator[int, None, None]:
						"""simple docstring"""







						lowerCAmelCase__       =						{}
						lowerCAmelCase__       =						2
						while True:
												lowerCAmelCase__       =						factor_map.pop(UpperCamelCase_    ,   UpperCamelCase_   )
												if factor:
																		lowerCAmelCase__       =						factor + prime
																		while x in factor_map:
																								x += factor
																		lowerCAmelCase__       =						factor
												else:
																		lowerCAmelCase__       =						prime
																		yield prime
												prime += 1


def        _a  (     UpperCamelCase_					:				float = 1e1_0   ) ->   int:
						"""simple docstring"""







						lowerCAmelCase__       =						sieve()

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


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










from collections import defaultdict
from math import ceil, sqrt


def        _a  (     UpperCamelCase_					:				int = 1_000_000    ,   UpperCamelCase_					:				int = 10   ) ->   int:
						"""simple docstring"""







						lowerCAmelCase__       =						defaultdict(UpperCamelCase_   )

						for outer_width in range(3    ,   (t_limit // 4) + 2   ):
												if outer_width * outer_width > t_limit:
																		lowerCAmelCase__       =						max(
																		    ceil(sqrt(outer_width * outer_width - t_limit   )   )    ,   1   )
												else:
																		lowerCAmelCase__       =						1

												hole_width_lower_bound += (outer_width - hole_width_lower_bound) % 2

												for hole_width in range(UpperCamelCase_    ,   outer_width - 1    ,   2   ):
																		count[outer_width * outer_width - hole_width * hole_width] += 1

						return sum(1 for n in count.values() if 1 <= n <= 10   )


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






