

from __future__ import annotations

import typing
from collections import Counter
def 							__SCREAMING_SNAKE_CASE     (   a__    :   int       )					->				typing.Counter[int]:
	__A :			typing.Counter[int]		    =			Counter()
	for base in range(1			,max_perimeter + 1       ):
		for perpendicular in range(a__			,max_perimeter + 1       ):
			__A :			Any		    =			(base * base + perpendicular * perpendicular) ** 0.5
			if hypotenuse == int(a__       ):
				__A :			int		    =			int(base + perpendicular + hypotenuse       )
				if perimeter > max_perimeter:
					continue
				triplets[perimeter] += 1
	return triplets
def 							__SCREAMING_SNAKE_CASE     (   a__    :   int = 1000       )					->				int:
	__A :			str		    =			pythagorean_triple(a__       )
	return triplets.most_common(1       )[0][0]


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








import importlib
import sys
from argparse import REMAINDER, ArgumentParser
from pathlib import Path

import torch_xla.distributed.xla_multiprocessing as xmp
def 							__SCREAMING_SNAKE_CASE     (   )					->				Tuple:
	__A :			List[Any]		    =			ArgumentParser(
	    description=(
	        """PyTorch TPU distributed training launch helper utility that will spawn up multiple distributed processes"""
	    )       )

	# Optional arguments for the launch helper
	parser.add_argument("""--num_cores"""			,type=a__			,default=1			,help="""Number of TPU cores to use (1 or 8)."""       )

	# positional
	parser.add_argument(
	    """training_script"""			,type=a__			,help=(
	        """The full path to the single TPU training """
	        """program/script to be launched in parallel, """
	        """followed by all the arguments for the """
	        """training script"""
	    )			,)

	# rest from the training program
	parser.add_argument("""training_script_args"""			,nargs=a__       )

	return parser.parse_args()
def 							__SCREAMING_SNAKE_CASE     (   )					->				str:
	__A :			Union[str, Any]		    =			parse_args()

	# Import training_script as a module.
	__A :			List[Any]		    =			Path(args.training_script       )
	sys.path.append(str(script_fpath.parent.resolve()       )       )
	__A :			str		    =			script_fpath.stem
	__A :			int		    =			importlib.import_module(a__       )

	# Patch sys.argv
	__A :			List[str]		    =			[args.training_script] + args.training_script_args + ["""--tpu_num_cores""", str(args.num_cores       )]

	xmp.spawn(mod._mp_fn			,args=()			,nprocs=args.num_cores       )


if __name__ == "__main__":
			main()





