






from __future__ import annotations

import typing
from collections import Counter







def   SCREAMING_SNAKE_CASE       (				snake_case_      :							int     ):
	snake_case__				:   typing.Counter[int]     =						Counter()
	for base in range(1  ,						max_perimeter + 1     ):
		for perpendicular in range(snake_case_  ,						max_perimeter + 1     ):
			snake_case__				:   str     =						(base * base + perpendicular * perpendicular) ** 0.5
			if hypotenuse == int(snake_case_     ):
				snake_case__				:   List[str]     =						int(base + perpendicular + hypotenuse     )
				if perimeter > max_perimeter:
					continue
				triplets[perimeter] += 1
	return triplets







def   SCREAMING_SNAKE_CASE       (				snake_case_      :							int = 1000     ):
	snake_case__				:   List[str]     =						pythagorean_triple(snake_case_     )
	return triplets.most_common(1     )[0][0]


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











def   SCREAMING_SNAKE_CASE       (				snake_case_      :							str     ):
	snake_case__				:   Any     =						[0] * len(snake_case_     )

	for i in range(1  ,						len(snake_case_     )     ):
		# use last results for better performance - dynamic programming
		snake_case__				:   Union[str, Any]     =						prefix_result[i - 1]
		while j > 0 and input_string[i] != input_string[j]:
			snake_case__				:   str     =						prefix_result[j - 1]

		if input_string[i] == input_string[j]:
			j += 1
		snake_case__				:   int     =						j

	return prefix_result







def   SCREAMING_SNAKE_CASE       (				snake_case_      :							str     ):
	return max(prefix_function(snake_case_     )     )


if __name__ == "__main__":
	import doctest

	doctest.testmod()



