
def 							_lowerCamelCase			(					lowerCamelCase_:  int				,	lowerCamelCase_:  int		):



				'''simple docstring'''







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





def 							_lowerCamelCase			(					lowerCamelCase_:  int				,	lowerCamelCase_:  int				,	lowerCamelCase_:  int		):



				'''simple docstring'''







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





def 							_lowerCamelCase			(					lowerCamelCase_:  int		):



				'''simple docstring'''







				A     :  Tuple   =				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__":
					UpperCamelCase_  =	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.''')

UpperCamelCase_  =	10_00





def 							_lowerCamelCase			(					lowerCamelCase_:  float		):



				'''simple docstring'''







				return x * x





def 							_lowerCamelCase			(					lowerCamelCase_:  Tuple				,	lowerCamelCase_:  float				,	lowerCamelCase_:  float				,	lowerCamelCase_:  int = 4		):



				'''simple docstring'''







				assert callable(
				    lowerCamelCase_		), f"""the function(object) passed should be callable your input : {function}"""
				assert isinstance(lowerCamelCase_				,	(float, int)		), f"""a should be float or integer your input : {a}"""
				assert isinstance(function(lowerCamelCase_		)				,	(float, int)		), (
				    "the function should return integer or float return type of your function, "
				    f"""{type(lowerCamelCase_		)}"""
				)
				assert isinstance(lowerCamelCase_				,	(float, int)		), f"""b should be float or integer your input : {b}"""
				assert (
				    isinstance(lowerCamelCase_				,	lowerCamelCase_		) and precision > 0
				), f"""precision should be positive integer your input : {precision}"""

				# just applying the formula of simpson for approximate integration written in
				# mentioned article in first comment of this file and above this function

				A     :  Tuple   =				(b - a) / N_STEPS
				A     :  List[str]   =				function(lowerCamelCase_		) + function(lowerCamelCase_		)

				for i in range(1				,	lowerCamelCase_		):
								A     :  int   =				a + h * i
								result += function(lowerCamelCase_		) * (4 if i % 2 else 2)

				result *= h / 3
				return round(lowerCamelCase_				,	lowerCamelCase_		)


if __name__ == "__main__":
					import doctest

					doctest.testmod()