





def 	_a						(   UpperCAmelCase = 600851475143					)    ->    Optional[int]:







   """simple docstring"""

   try:
      lowerCamelCase__       :						Tuple        =							int(UpperCAmelCase					)
   except (TypeError, ValueError):
      raise TypeError('''Parameter n must be int or castable to int.'''					)
   if n <= 0:
      raise ValueError('''Parameter n must be greater than or equal to one.'''					)
   lowerCamelCase__       :						Any        =							1
   lowerCamelCase__       :						List[Any]        =							2
   while i * i <= n:
      while n % i == 0:
         lowerCamelCase__       :						Optional[Any]        =							i
         n //= i
      i += 1
   if n > 1:
      lowerCamelCase__       :						Optional[Any]        =							n
   return int(UpperCAmelCase					)


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










from math import ceil, sqrt



def 	_a						(   UpperCAmelCase = 1000000					)    ->    int:







   """simple docstring"""
   lowerCamelCase__       :						Any        =							0

   for outer_width in range(3      ,  (limit // 4) + 2					):
      if outer_width**2 > limit:
         lowerCamelCase__       :						List[Any]        =							max(ceil(sqrt(outer_width**2 - limit					)					)      ,  1					)
      else:
         lowerCamelCase__       :						Union[str, Any]        =							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() = }''')



