





"""simple docstring"""



def 	__lowercase  (     snake_case_						:						Any       ,snake_case_						:						Dict		)     ->int:



    '''simple docstring'''







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







def 	__lowercase  (     snake_case_						:						Optional[int]       ,snake_case_						:						Dict       ,snake_case_						:						List[str]		)     ->int:



    '''simple docstring'''







    if y == 0:
        return 1
    __A					:		Tuple						=  power(__lowerCAmelCase       ,y // 2       ,__lowerCAmelCase		) % mod
    __A					:		Tuple						=  (temp * temp) % mod
    if y % 2 == 1:
        __A					:		int						=  (temp * x) % mod
    return temp







def 	__lowercase  (     snake_case_						:						int		)     ->bool:



    '''simple docstring'''







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


if __name__ == "__main__":
       a_				=		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.''')











"""simple docstring"""



from __future__ import annotations

import sys







def 	__lowercase  (     snake_case_						:						int       ,snake_case_						:						int		)     ->tuple[int, int]:



    '''simple docstring'''







    if abs(snake_case_		) == 1:
        return a, 0
    elif abs(snake_case_		) == 1:
        return 0, b

    __A				, __A					:		int						=  a, b
    __A				, __A					:		Any						=  1, 0
    __A				, __A					:		int						=  0, 1

    while remainder != 0:
        __A					:		List[Any]						=  old_remainder // remainder
        __A				, __A					:		int						=  remainder, old_remainder - quotient * remainder
        __A				, __A					:		List[Any]						=  coeff_a, old_coeff_a - quotient * coeff_a
        __A				, __A					:		Union[str, Any]						=  coeff_b, old_coeff_b - quotient * coeff_b

    # sign correction for negative numbers
    if a < 0:
        __A					:		Optional[Any]						=  -old_coeff_a
    if b < 0:
        __A					:		List[Any]						=  -old_coeff_b

    return old_coeff_a, old_coeff_b







def 	__lowercase  (     )     ->List[str]:



    '''simple docstring'''







    if len(sys.argv		) < 3:
        print('''2 integer arguments required'''		)
        return 1
    __A					:		Optional[int]						=  int(sys.argv[1]		)
    __A					:		Tuple						=  int(sys.argv[2]		)
    print(extended_euclidean_algorithm(snake_case_       ,snake_case_		)		)
    return 0


if __name__ == "__main__":
       raise SystemExit(main())




