



from functools import lru_cache


def  __lowerCamelCase (       lowerCamelCase__						):

				"""simple docstring"""


				lowercase__					:   str													=					2
				lowercase__					:   Optional[int]													=					set()
				while i * i <= n:
								if n % i:
												i += 1
								else:
												n //= i
												factors.add(lowerCamelCase__						)
				if n > 1:
								factors.add(lowerCamelCase__						)
				return factors


@lru_cache
def  __lowerCamelCase (       lowerCamelCase__						):

				"""simple docstring"""


				return len(unique_prime_factors(lowerCamelCase__						)						)


def  __lowerCamelCase (       lowerCamelCase__						):

				"""simple docstring"""


				return len(set(lowerCamelCase__						)						) in (0, 1)


def  __lowerCamelCase (       lowerCamelCase__						):

				"""simple docstring"""


				lowercase__					:   List[str]													=					2

				while True:
								# Increment each value of a generated range
								lowercase__					:   List[str]													=					[base + i for i in range(lowerCamelCase__						)]

								# Run elements through out unique_prime_factors function
								# Append our target number to the end.
								lowercase__					:   List[str]													=					[upf_len(lowerCamelCase__						) for x in group]
								checker.append(lowerCamelCase__						)

								# If all numbers in the list are equal, return the group variable.
								if equality(lowerCamelCase__						):
												return group

								# Increment our base variable by 1
								base += 1


def  __lowerCamelCase (       lowerCamelCase__ = 4						):

				"""simple docstring"""


				lowercase__					:   List[str]													=					run(lowerCamelCase__						)
				return results[0] if len(lowerCamelCase__						) else None


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









from math import ceil, sqrt


def  __lowerCamelCase (       lowerCamelCase__ = 1_000_000						):

				"""simple docstring"""


				lowercase__					:   int													=					0

				for outer_width in range(3					,			(limit // 4) + 2						):
								if outer_width**2 > limit:
												lowercase__					:   List[str]													=					max(ceil(sqrt(outer_width**2 - limit						)						)					,			1						)
								else:
												lowercase__					:   List[str]													=					1
								if (outer_width - hole_width_lower_bound) % 2:
												hole_width_lower_bound += 1

								answer += (outer_width - hole_width_lower_bound - 2) // 2 + 1

				return answer


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




