

from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


_SCREAMING_SNAKE_CASE							 =			{'''configuration_qdqbert''': ['''QDQBERT_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''QDQBertConfig''']}

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      _SCREAMING_SNAKE_CASE							 =			[
          '''QDQBERT_PRETRAINED_MODEL_ARCHIVE_LIST''',
          '''QDQBertForMaskedLM''',
          '''QDQBertForMultipleChoice''',
          '''QDQBertForNextSentencePrediction''',
          '''QDQBertForQuestionAnswering''',
          '''QDQBertForSequenceClassification''',
          '''QDQBertForTokenClassification''',
          '''QDQBertLayer''',
          '''QDQBertLMHeadModel''',
          '''QDQBertModel''',
          '''QDQBertPreTrainedModel''',
          '''load_tf_weights_in_qdqbert''',
      ]


if TYPE_CHECKING:
      from .configuration_qdqbert import QDQBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, QDQBertConfig

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_qdqbert import (
                QDQBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
                QDQBertForMaskedLM,
                QDQBertForMultipleChoice,
                QDQBertForNextSentencePrediction,
                QDQBertForQuestionAnswering,
                QDQBertForSequenceClassification,
                QDQBertForTokenClassification,
                QDQBertLayer,
                QDQBertLMHeadModel,
                QDQBertModel,
                QDQBertPreTrainedModel,
                load_tf_weights_in_qdqbert,
            )


else:
      import sys

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










UpperCAmelCase							=       (1, 153, 370, 371, 1_634, 24_678_051, 115_132_219_018_763_992_565_095_597_973_971_522_401)
UpperCAmelCase							=       (-153, -1, 0, 1.2, 200, "A", [], {}, None)

def       A_   (						__a  :					int		):

				"""simple docstring"""
				if not isinstance(__a			,		__a		) or n < 1:
								return False

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

def       A_   (						__a  :					int		):

				"""simple docstring"""
				if not isinstance(__a			,		__a		) or n < 1:
								return False

				# Init a "histogram" of the digits
				a__					   =		[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
				a__					   =		0
				a__					   =		0
				a__					   =		n
				while temp > 0:
								a__   ,      a__					   =		divmod(__a			,		10		)
								digit_histogram[rem] += 1
								digit_total += 1

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

				return n == total

def       A_   (						__a  :					int		):

				"""simple docstring"""
				if not isinstance(__a			,		__a		) or n < 1:
								return False
				a__					   =		len(str(__a		)		)  # 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(__a		) ** expo for i in str(__a		)		)

def       A_   (						):

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


if __name__ == "__main__":
	import doctest

	doctest.testmod()
	main()

