lowerCAmelCase__							= (1, 153, 370, 371, 1634, 24678051, 115132219018763992565095597973971522401)
lowerCAmelCase__							= (-153, -1, 0, 1.2, 200, "A", [], {}, None)






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

       # Initialization of sum and number of digits.
       lowerCAmelCase__     	=					0
       lowerCAmelCase__     	=					0
       lowerCAmelCase__     	=					n
       # Calculation of digits of the number
       while temp > 0:
              number_of_digits += 1
              temp //= 1_0
       # Dividing number into separate digits and find Armstrong number
       lowerCAmelCase__     	=					n
       while temp > 0:
              lowerCAmelCase__     	=					temp % 1_0
              total += rem**number_of_digits
              temp //= 1_0
       return n == total






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

       # Init a "histogram" of the digits
       lowerCAmelCase__     	=					[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
       lowerCAmelCase__     	=					0
       lowerCAmelCase__     	=					0
       lowerCAmelCase__     	=					n
       while temp > 0:
              lowerCAmelCase__	,					lowerCAmelCase__     	=					divmod(lowerCAmelCase__	,  1_0	)
              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__	):
       if not isinstance(lowerCAmelCase__	,  lowerCAmelCase__	) or n < 1:
              return False
       lowerCAmelCase__     	=					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		(						):
       lowerCAmelCase__     	=					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()

"""simple docstring"""


from ..utils import DummyObject, requires_backends






class    __UpperCAmelCase						(	metaclass=__lowerCAmelCase	):
				A__      :   List[Any]  							=       ['''torch''', '''librosa''']

				def __init__(      self	, *_lowerCamelCase	, **_lowerCamelCase      ):
										requires_backends(self	, ["torch", "librosa"]      )

				@classmethod
				def 		_a	(      cls	, *_lowerCamelCase	, **_lowerCamelCase      ):
										requires_backends(cls	, ["torch", "librosa"]      )






				@classmethod
				def 		_a	(      cls	, *_lowerCamelCase	, **_lowerCamelCase      ):
										requires_backends(cls	, ["torch", "librosa"]      )






class    __UpperCAmelCase						(	metaclass=__lowerCAmelCase	):
				A__      :   List[str]  							=       ['''torch''', '''librosa''']

				def __init__(      self	, *_lowerCamelCase	, **_lowerCamelCase      ):
										requires_backends(self	, ["torch", "librosa"]      )

				@classmethod
				def 		_a	(      cls	, *_lowerCamelCase	, **_lowerCamelCase      ):
										requires_backends(cls	, ["torch", "librosa"]      )






				@classmethod
				def 		_a	(      cls	, *_lowerCamelCase	, **_lowerCamelCase      ):
										requires_backends(cls	, ["torch", "librosa"]      )


