





_SCREAMING_SNAKE_CASE :					Union[str, Any]			=	(1, 153, 370, 371, 1634, 24678051, 115132219018763992565095597973971522401)
_SCREAMING_SNAKE_CASE :					Dict			=	(-153, -1, 0, 1.2, 200, """A""", [], {}, None)







def 						_lowercase       (     __lowerCamelCase			:					Optional[int]			)  ->   bool:





     '''simple docstring'''





     if not isinstance(__lowerCamelCase		,__lowerCamelCase			) or n < 1:
          return False

     # Initialization of sum and number of digits.
     UpperCamelCase__							:  List[Any]								=     0
     UpperCamelCase__							:  Union[str, Any]								=     0
     UpperCamelCase__							:  List[str]								=     n
     # Calculation of digits of the number
     while temp > 0:
          number_of_digits += 1
          temp //= 10
     # Dividing number into separate digits and find Armstrong number
     UpperCamelCase__							:  List[Any]								=     n
     while temp > 0:
          UpperCamelCase__							:  int								=     temp % 10
          total += rem**number_of_digits
          temp //= 10
     return n == total







def 						_lowercase       (     __lowerCamelCase			:					int			)  ->   bool:





     '''simple docstring'''





     if not isinstance(__lowerCamelCase		,__lowerCamelCase			) or n < 1:
          return False

     # Init a "histogram" of the digits
     UpperCamelCase__							:  Tuple								=     [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
     UpperCamelCase__							:  Optional[Any]								=     0
     UpperCamelCase__							:  Tuple								=     0
     UpperCamelCase__							:  Union[str, Any]								=     n
     while temp > 0:
          UpperCamelCase__	,UpperCamelCase__							:  int								=     divmod(__lowerCamelCase		,10			)
          digit_histogram[rem] += 1
          digit_total += 1

     for cnt, i in zip(__lowerCamelCase		,range(len(__lowerCamelCase			)			)			):
          total += cnt * i**digit_total

     return n == total







def 						_lowercase       (     __lowerCamelCase			:					Tuple			)  ->   bool:





     '''simple docstring'''





     if not isinstance(__lowerCamelCase		,__lowerCamelCase			) or n < 1:
          return False
     UpperCamelCase__							:  List[Any]								=     len(str(__lowerCamelCase			)			)  # the power that all digits will be raised to
     # check if sum of each digit multiplied expo times is equal to number
     return n == sum(int(__lowerCamelCase			) ** expo for i in str(__lowerCamelCase			)			)







def 						_lowercase       (     )  ->   Tuple:





     '''simple docstring'''





     UpperCamelCase__							:  int								=     int(input('''Enter an integer to see if it is an Armstrong number: '''			).strip()			)
     print(F'{num} is {"" if armstrong_number(__lowerCamelCase			) else "not "}an Armstrong number.'			)
     print(F'{num} is {"" if narcissistic_number(__lowerCamelCase			) else "not "}an Armstrong number.'			)
     print(F'{num} is {"" if pluperfect_number(__lowerCamelCase			) else "not "}an Armstrong number.'			)


if __name__ == "__main__":
   import doctest

   doctest.testmod()
   main()








from typing import TYPE_CHECKING

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


_SCREAMING_SNAKE_CASE :					str			=	{
    """configuration_donut_swin""": ["""DONUT_SWIN_PRETRAINED_CONFIG_ARCHIVE_MAP""", """DonutSwinConfig"""],
    """processing_donut""": ["""DonutProcessor"""],
}

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _SCREAMING_SNAKE_CASE :					List[Any]			=	[
       """DONUT_SWIN_PRETRAINED_MODEL_ARCHIVE_LIST""",
       """DonutSwinModel""",
       """DonutSwinPreTrainedModel""",
   ]

try:
   if not is_vision_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _SCREAMING_SNAKE_CASE :					List[Any]			=	["""DonutFeatureExtractor"""]
   _SCREAMING_SNAKE_CASE :					Tuple			=	["""DonutImageProcessor"""]


if TYPE_CHECKING:
   from .configuration_donut_swin import DONUT_SWIN_PRETRAINED_CONFIG_ARCHIVE_MAP, DonutSwinConfig
   from .processing_donut import DonutProcessor

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_donut_swin import (
          DONUT_SWIN_PRETRAINED_MODEL_ARCHIVE_LIST,
          DonutSwinModel,
          DonutSwinPreTrainedModel,
      )

   try:
      if not is_vision_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .feature_extraction_donut import DonutFeatureExtractor
      from .image_processing_donut import DonutImageProcessor

else:
   import sys

   _SCREAMING_SNAKE_CASE :					Optional[Any]			=	_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)




