




def   A		(__A  :       int  ,							__A  :       int			)  -> Tuple:







     """simple docstring"""


     if a < b:
          return gcd(SCREAMING_SNAKE_CASE_  ,							SCREAMING_SNAKE_CASE_			)
     if a % b == 0:
          return b
     return gcd(SCREAMING_SNAKE_CASE_  ,							a % b			)


def   A		(__A  :       int  ,							__A  :       int  ,							__A  :       int			)  -> Optional[Any]:







     """simple docstring"""


     if y == 0:
          return 1
     UpperCAmelCase_		=				power(SCREAMING_SNAKE_CASE_  ,							y // 2  ,							SCREAMING_SNAKE_CASE_			) % mod
     UpperCAmelCase_		=				(temp * temp) % mod
     if y % 2 == 1:
          UpperCAmelCase_		=				(temp * x) % mod
     return temp


def   A		(__A  :       int			)  -> int:







     """simple docstring"""


     UpperCAmelCase_		=				2
     while b < n:
          if gcd(SCREAMING_SNAKE_CASE_  ,							SCREAMING_SNAKE_CASE_			) == 1 and power(SCREAMING_SNAKE_CASE_  ,							n - 1  ,							SCREAMING_SNAKE_CASE_			) != 1:
               return False
          b += 1
     return True


if __name__ == "__main__":
    snake_case_					:					Optional[Any]       						=			int(input("Enter number: ").strip())
    if is_carmichael_number(number):
        print(f"{number} is a Carmichael Number.")
    else:
        print(f"{number} is not a Carmichael Number.")












import json
import logging
import os
import subprocess
from argparse import ArgumentParser


UpperCamelCase__            =     logging.getLogger(__name__)







def       _a (		):
					__lowerCAmelCase							  =			ArgumentParser()
					__lowerCAmelCase  ,				__lowerCAmelCase							  =			parser.parse_known_args()
					for arg in unknown:
										if arg.startswith(("-", "--")	):
															parser.add_argument(arg.split("="	)[0]	)

					return parser.parse_args()







def       _a (		):
					__lowerCAmelCase							  =			parse_args()
					__lowerCAmelCase							  =			88_88
					__lowerCAmelCase							  =			int(os.environ["SM_NUM_GPUS"]	)
					__lowerCAmelCase							  =			json.loads(os.environ["SM_HOSTS"]	)
					__lowerCAmelCase							  =			len(SCREAMING_SNAKE_CASE_	)
					__lowerCAmelCase							  =			os.environ["SM_CURRENT_HOST"]
					__lowerCAmelCase							  =			hosts.index(SCREAMING_SNAKE_CASE_	)
					__lowerCAmelCase							  =			"INFO"

					if num_nodes > 1:
										__lowerCAmelCase							  =			F"""python -m torch.distributed.launch \
                --nnodes={num_nodes}  \
                --node_rank={rank}  \
                --nproc_per_node={num_gpus}  \
                --master_addr={hosts[0]}  \
                --master_port={port} \
                ./run_glue.py \
                {''.join(['nested fstring' for parameter,value in args.__dict__.items()]	)}"""
					else:
										__lowerCAmelCase							  =			F"""python -m torch.distributed.launch \
            --nproc_per_node={num_gpus}  \
            ./run_glue.py \
            {''.join(['nested fstring' for parameter,value in args.__dict__.items()]	)}"""
					try:
										subprocess.run(SCREAMING_SNAKE_CASE_ , shell=SCREAMING_SNAKE_CASE_	)
					except Exception as e:
										logger.info(SCREAMING_SNAKE_CASE_	)


if __name__ == "__main__":
					main()




