
'''simple docstring'''
def  __SCREAMING_SNAKE_CASE				(  _SCREAMING_SNAKE_CASE							, _SCREAMING_SNAKE_CASE				):
							while b:
														_snake_case,							_snake_case       =  b, a % b
							return a






def  __SCREAMING_SNAKE_CASE				(  _SCREAMING_SNAKE_CASE							, _SCREAMING_SNAKE_CASE				):
							return a if b == 0 else euclidean_gcd_recursive(_SCREAMING_SNAKE_CASE							, a % b				)






def  __SCREAMING_SNAKE_CASE				(  ):
							print(f"""euclidean_gcd(3, 5) = {euclidean_gcd(3							, 5				)}"""				)
							print(f"""euclidean_gcd(5, 3) = {euclidean_gcd(5							, 3				)}"""				)
							print(f"""euclidean_gcd(1, 3) = {euclidean_gcd(1							, 3				)}"""				)
							print(f"""euclidean_gcd(3, 6) = {euclidean_gcd(3							, 6				)}"""				)
							print(f"""euclidean_gcd(6, 3) = {euclidean_gcd(6							, 3				)}"""				)

							print(f"""euclidean_gcd_recursive(3, 5) = {euclidean_gcd_recursive(3							, 5				)}"""				)
							print(f"""euclidean_gcd_recursive(5, 3) = {euclidean_gcd_recursive(5							, 3				)}"""				)
							print(f"""euclidean_gcd_recursive(1, 3) = {euclidean_gcd_recursive(1							, 3				)}"""				)
							print(f"""euclidean_gcd_recursive(3, 6) = {euclidean_gcd_recursive(3							, 6				)}"""				)
							print(f"""euclidean_gcd_recursive(6, 3) = {euclidean_gcd_recursive(6							, 3				)}"""				)


if __name__ == "__main__":
				main()

'''simple docstring'''
from __future__ import annotations

import typing
from collections import Counter






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






def  __SCREAMING_SNAKE_CASE				(  _SCREAMING_SNAKE_CASE = 1000				):
							_snake_case       =  pythagorean_triple(_SCREAMING_SNAKE_CASE				)
							return triplets.most_common(1				)[0][0]


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