
'''simple docstring'''
def 					_UpperCamelCase		(    SCREAMING_SNAKE_CASE__      ,    SCREAMING_SNAKE_CASE__       )   ->				int:


		'''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 					_UpperCamelCase		(    SCREAMING_SNAKE_CASE__      ,    SCREAMING_SNAKE_CASE__      ,    SCREAMING_SNAKE_CASE__       )   ->				int:


		'''simple docstring'''


		if y == 0:
				return 1
		snake_case   :    List[Any]			       =		power(SCREAMING_SNAKE_CASE__      ,    y // 2      ,    SCREAMING_SNAKE_CASE__       ) % mod
		snake_case   :    List[str]			       =		(temp * temp) % mod
		if y % 2 == 1:
				snake_case   :    Any			       =		(temp * x) % mod
		return temp




def 					_UpperCamelCase		(    SCREAMING_SNAKE_CASE__       )   ->				bool:


		'''simple docstring'''


		snake_case   :    Optional[Any]			       =		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__":
						lowercase__		    =	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"""







def 						lowercase__(A						)				->int:




						"""simple docstring"""



						lowercase__				:      str=       0
						for plain_chr in plain_text:
												lowercase__				:      List[str]=       (
												    ord(A						) + (hash_value << 6) + (hash_value << 16) - hash_value
												)
						return hash_value






