
"""simple docstring"""




from __future__ import annotations

from functools import lru_cache
from math import ceil

lowerCAmelCase__							=				100

lowerCAmelCase__							=				set(range(3, NUM_PRIMES, 2))
primes.add(2)
lowerCAmelCase__							=				42

for prime in range(3, ceil(NUM_PRIMES**0.5), 2):
						if prime not in primes:
												continue
						primes.difference_update(set(range(prime * prime, NUM_PRIMES, prime)))



@lru_cache(maxsize=100    )
def        _lowerCamelCase ( __a    ):
		if number_to_partition < 0:
				return set()
		elif number_to_partition == 0:
				return {1}

		SCREAMING_SNAKE_CASE_						 = set()
		SCREAMING_SNAKE_CASE_						 = 42
		SCREAMING_SNAKE_CASE_						 = 42

		for prime in primes:
				if prime > number_to_partition:
						continue
				for sub in partition(number_to_partition - prime    ):
						ret.add(sub * prime    )

		return ret



def        _lowerCamelCase ( __a = 5_000    ):
		for number_to_partition in range(1,							__a    ):
				if len(partition(__a    )    ) > number_unique_partitions:
						return number_to_partition
		return None


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

"""simple docstring"""




from __future__ import annotations

import typing
from collections import Counter



def        _lowerCamelCase ( __a    ):
		SCREAMING_SNAKE_CASE_						 = Counter()
		for base in range(1,							max_perimeter + 1    ):
				for perpendicular in range(__a,							max_perimeter + 1    ):
						SCREAMING_SNAKE_CASE_						 = (base * base + perpendicular * perpendicular) ** 0.5
						if hypotenuse == int(__a    ):
								SCREAMING_SNAKE_CASE_						 = int(base + perpendicular + hypotenuse    )
								if perimeter > max_perimeter:
										continue
								triplets[perimeter] += 1
		return triplets



def        _lowerCamelCase ( __a = 1_000    ):
		SCREAMING_SNAKE_CASE_						 = pythagorean_triple(__a    )
		return triplets.most_common(1    )[0][0]


if __name__ == "__main__":
						print(f'''Perimeter {solution()} has maximum solutions''')