






from math import sqrt




def 					lowercase__				(					__snake_case   :							int = 1_000_000  ):


					'''simple docstring'''


					UpperCAmelCase_   :				int						=						0
					UpperCAmelCase_   :				int						=						0
					UpperCAmelCase_   :				int

					while num_cuboids <= limit:
										max_cuboid_size += 1
										for sum_shortest_sides in range(2					,	2 * max_cuboid_size + 1  ):
															if sqrt(sum_shortest_sides**2 + max_cuboid_size**2  ).is_integer():
																				num_cuboids += (
																				    min(__snake_case					,	sum_shortest_sides // 2  )
																				    - max(1					,	sum_shortest_sides - max_cuboid_size  )
																				    + 1
																				)

					return max_cuboid_size


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














def 					lowercase__				(					__snake_case   :							str					,	__snake_case   :							int					,	__snake_case   :							List[str]  ):


					'''simple docstring'''


					if n == 0:
										return 1

					elif n % 2 == 1:
										return (binary_exponentiation(__snake_case					,	n - 1					,	__snake_case  ) * a) % mod

					else:
										UpperCAmelCase_   :				Optional[int]						=						binary_exponentiation(__snake_case					,	n / 2					,	__snake_case  )
										return (b * b) % mod


# a prime number
__UpperCAmelCase     							=						701

__UpperCAmelCase     							=						1000000000
__UpperCAmelCase     							=						10

# using binary exponentiation function, O(log(p)):
print((a / b) % p == (a * binary_exponentiation(b, p - 2, p)) % p)






print((a / b) % p == (a * b ** (p - 2)) % p)






