
"""simple docstring"""






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

import torch_xla.distributed.xla_multiprocessing as xmp






def 						_snake_case       (	)  ->				List[str]:


			'''simple docstring'''





			lowerCAmelCase_    :Tuple			     =  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=_lowerCAmelCase      ,     default=1      ,     help="""Number of TPU cores to use (1 or 8)."""		)

			# positional
			parser.add_argument(
			    """training_script"""      ,     type=_lowerCAmelCase      ,     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=_lowerCAmelCase		)

			return parser.parse_args()






def 						_snake_case       (	)  ->				Any:


			'''simple docstring'''





			lowerCAmelCase_    :Union[str, Any]			     =  parse_args()

			# Import training_script as a module.
			lowerCAmelCase_    :List[str]			     =  Path(args.training_script		)
			sys.path.append(str(script_fpath.parent.resolve()		)		)
			lowerCAmelCase_    :Any			     =  script_fpath.stem
			lowerCAmelCase_    :Union[str, Any]			     =  importlib.import_module(_lowerCAmelCase		)

			# Patch sys.argv
			lowerCAmelCase_    :Any			     =  [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()











def 	__UpperCamelCase	(  _lowerCAmelCase      ,     _lowerCAmelCase		)       ->  int:



    """simple docstring"""






    while second != 0:
        A :       int          =   first & second
        first ^= second
        A :       Tuple          =   c << 1
    return first


if __name__ == "__main__":
     import doctest

     doctest.testmod()

     SCREAMING_SNAKE_CASE_:int             =						int(input("""Enter the first number: """).strip())
     SCREAMING_SNAKE_CASE_:Optional[int]             =						int(input("""Enter the second number: """).strip())
     print(F"""{add(first, second) = }""")


