



'''simple docstring'''






def 			snake_case_					( _lowerCAmelCase  :						Optional[int]       ,				_lowerCAmelCase  :						Dict  )				->       int:





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


def 			snake_case_					( _lowerCAmelCase  :						int       ,				_lowerCAmelCase  :						List[str]       ,				_lowerCAmelCase  :						List[Any]  )				->       Optional[int]:





							if y == 0:
														return 1
							UpperCAmelCase			:	Tuple										=		power(A_       ,				y // 2       ,				A_  ) % mod
							UpperCAmelCase			:	Optional[Any]										=		(temp * temp) % mod
							if y % 2 == 1:
														UpperCAmelCase			:	Union[str, Any]										=		(temp * x) % mod
							return temp


def 			snake_case_					( _lowerCAmelCase  :						List[Any]  )				->       List[Any]:
							UpperCAmelCase			:	List[Any]										=		2
							while b < n:
														if gcd(A_       ,				A_  ) == 1 and power(A_       ,				n - 1       ,				A_  ) != 1:
																					return False
														b += 1
							return True


if __name__ == "__main__":
						UpperCamelCase__:       str							     =      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 typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tokenizers_available, is_torch_available


UpperCamelCase__:       Tuple							     =      {
    "configuration_splinter": ["SPLINTER_PRETRAINED_CONFIG_ARCHIVE_MAP", "SplinterConfig"],
    "tokenization_splinter": ["SplinterTokenizer"],
}

try:
						if not is_tokenizers_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						UpperCamelCase__:       Optional[Any]							     =      ["SplinterTokenizerFast"]

try:
						if not is_torch_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						UpperCamelCase__:       Any							     =      [
						    "SPLINTER_PRETRAINED_MODEL_ARCHIVE_LIST",
						    "SplinterForQuestionAnswering",
						    "SplinterForPreTraining",
						    "SplinterLayer",
						    "SplinterModel",
						    "SplinterPreTrainedModel",
						]


if TYPE_CHECKING:
						from .configuration_splinter import SPLINTER_PRETRAINED_CONFIG_ARCHIVE_MAP, SplinterConfig
						from .tokenization_splinter import SplinterTokenizer

						try:
												if not is_tokenizers_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .tokenization_splinter_fast import SplinterTokenizerFast

						try:
												if not is_torch_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_splinter import (
												    SPLINTER_PRETRAINED_MODEL_ARCHIVE_LIST,
												    SplinterForPreTraining,
												    SplinterForQuestionAnswering,
												    SplinterLayer,
												    SplinterModel,
												    SplinterPreTrainedModel,
												)


else:
						import sys

						UpperCamelCase__:       Dict							     =      _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)





