UpperCAmelCase     						=			(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)
UpperCAmelCase     						=			(-1_53, -1, 0, 1.2, 2_00, "A", [], {}, None)


def SCREAMING_SNAKE_CASE			(       lowercase_:		int			):
       if not isinstance(lowercase_						,  lowercase_			) or n < 1:
              return False

       # Initialization of sum and number of digits.
       _UpperCamelCase       :    str					  =					0
       _UpperCamelCase       :    Union[str, Any]					  =					0
       _UpperCamelCase       :    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       :    Dict					  =					n
       while temp > 0:
              _UpperCamelCase       :    str					  =					temp % 10
              total += rem**number_of_digits
              temp //= 10
       return n == total


def SCREAMING_SNAKE_CASE			(       lowercase_:		int			):
       if not isinstance(lowercase_						,  lowercase_			) 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       :    Optional[int]					  =					0
       _UpperCamelCase       :    Dict					  =					n
       while temp > 0:
              _UpperCamelCase  , _UpperCamelCase       :    Optional[int]					  =					divmod(lowercase_						,  10			)
              digit_histogram[rem] += 1
              digit_total += 1

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

       return n == total


def SCREAMING_SNAKE_CASE			(       lowercase_:		int			):
       if not isinstance(lowercase_						,  lowercase_			) or n < 1:
              return False
       _UpperCamelCase       :    Union[str, Any]					  =					len(str(lowercase_			)			)  # 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(lowercase_			) ** expo for i in str(lowercase_			)			)


def SCREAMING_SNAKE_CASE			(       ):
       _UpperCamelCase       :    List[str]					  =					int(input('Enter an integer to see if it is an Armstrong number: '			).strip()			)
       print(F"{num} is {'' if armstrong_number(lowercase_			) else 'not '}an Armstrong number."			)
       print(F"{num} is {'' if narcissistic_number(lowercase_			) else 'not '}an Armstrong number."			)
       print(F"{num} is {'' if pluperfect_number(lowercase_			) else 'not '}an Armstrong number."			)


if __name__ == "__main__":
 import doctest

 doctest.testmod()
 main()




from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


UpperCAmelCase     						=			{
    '''configuration_mpnet''': ['''MPNET_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''MPNetConfig'''],
    '''tokenization_mpnet''': ['''MPNetTokenizer'''],
}

try:
 if not is_tokenizers_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 UpperCAmelCase     						=			['''MPNetTokenizerFast''']

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 UpperCAmelCase     						=			[
     '''MPNET_PRETRAINED_MODEL_ARCHIVE_LIST''',
     '''MPNetForMaskedLM''',
     '''MPNetForMultipleChoice''',
     '''MPNetForQuestionAnswering''',
     '''MPNetForSequenceClassification''',
     '''MPNetForTokenClassification''',
     '''MPNetLayer''',
     '''MPNetModel''',
     '''MPNetPreTrainedModel''',
 ]

try:
 if not is_tf_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 UpperCAmelCase     						=			[
     '''TF_MPNET_PRETRAINED_MODEL_ARCHIVE_LIST''',
     '''TFMPNetEmbeddings''',
     '''TFMPNetForMaskedLM''',
     '''TFMPNetForMultipleChoice''',
     '''TFMPNetForQuestionAnswering''',
     '''TFMPNetForSequenceClassification''',
     '''TFMPNetForTokenClassification''',
     '''TFMPNetMainLayer''',
     '''TFMPNetModel''',
     '''TFMPNetPreTrainedModel''',
 ]


if TYPE_CHECKING:
 from .configuration_mpnet import MPNET_PRETRAINED_CONFIG_ARCHIVE_MAP, MPNetConfig
 from .tokenization_mpnet import MPNetTokenizer

 try:
  if not is_tokenizers_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .tokenization_mpnet_fast import MPNetTokenizerFast

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_mpnet import (
      MPNET_PRETRAINED_MODEL_ARCHIVE_LIST,
      MPNetForMaskedLM,
      MPNetForMultipleChoice,
      MPNetForQuestionAnswering,
      MPNetForSequenceClassification,
      MPNetForTokenClassification,
      MPNetLayer,
      MPNetModel,
      MPNetPreTrainedModel,
  )

 try:
  if not is_tf_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_tf_mpnet import (
      TF_MPNET_PRETRAINED_MODEL_ARCHIVE_LIST,
      TFMPNetEmbeddings,
      TFMPNetForMaskedLM,
      TFMPNetForMultipleChoice,
      TFMPNetForQuestionAnswering,
      TFMPNetForSequenceClassification,
      TFMPNetForTokenClassification,
      TFMPNetMainLayer,
      TFMPNetModel,
      TFMPNetPreTrainedModel,
  )

else:
 import sys

 UpperCAmelCase     						=			_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)



