


SCREAMING_SNAKE_CASE		:Optional[int]											=       (1, 1_53, 3_70, 3_71, 16_34, 24_67_80_51, 1_15_13_22_19_01_87_63_99_25_65_09_55_97_97_39_71_52_24_01)
SCREAMING_SNAKE_CASE		:tuple											=       (-1_53, -1, 0, 1.2, 2_00, "A", [], {}, None)



def      _lowerCAmelCase  (							lowerCAmelCase_							:int							)->bool:
   '''simple docstring'''






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

   # Initialization of sum and number of digits.
   snake_case_         =   0
   snake_case_         =   0
   snake_case_         =   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
   snake_case_         =   n
   while temp > 0:
      snake_case_         =   temp % 10
      total += rem**number_of_digits
      temp //= 10
   return n == total



def      _lowerCAmelCase  (							lowerCAmelCase_							:int							)->bool:
   '''simple docstring'''






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

   # Init a "histogram" of the digits
   snake_case_         =   [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
   snake_case_         =   0
   snake_case_         =   0
   snake_case_         =   n
   while temp > 0:
      snake_case_      ,      snake_case_         =   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      _lowerCAmelCase  (							lowerCAmelCase_							:int							)->bool:
   '''simple docstring'''






   if not isinstance(lowerCAmelCase_						,  lowerCAmelCase_							) or n < 1:
      return False
   snake_case_         =   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      _lowerCAmelCase  (							)->Tuple:
   '''simple docstring'''






   snake_case_         =   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_tf_available, is_torch_available


SCREAMING_SNAKE_CASE		:str											=       {'''configuration_cvt''': ['''CVT_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''CvtConfig''']}


try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   SCREAMING_SNAKE_CASE		:Any											=       [
       '''CVT_PRETRAINED_MODEL_ARCHIVE_LIST''',
       '''CvtForImageClassification''',
       '''CvtModel''',
       '''CvtPreTrainedModel''',
   ]

try:
   if not is_tf_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   SCREAMING_SNAKE_CASE		:Any											=       [
       '''TF_CVT_PRETRAINED_MODEL_ARCHIVE_LIST''',
       '''TFCvtForImageClassification''',
       '''TFCvtModel''',
       '''TFCvtPreTrainedModel''',
   ]

if TYPE_CHECKING:
   from .configuration_cvt import CVT_PRETRAINED_CONFIG_ARCHIVE_MAP, CvtConfig

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_cvt import (
          CVT_PRETRAINED_MODEL_ARCHIVE_LIST,
          CvtForImageClassification,
          CvtModel,
          CvtPreTrainedModel,
      )

   try:
      if not is_tf_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_tf_cvt import (
          TF_CVT_PRETRAINED_MODEL_ARCHIVE_LIST,
          TFCvtForImageClassification,
          TFCvtModel,
          TFCvtPreTrainedModel,
      )


else:
   import sys

   SCREAMING_SNAKE_CASE		:str											=       _LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)




