





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






def 			SCREAMING_SNAKE_CASE__							(    UpperCamelCase__:							int      ):
		if not isinstance(UpperCamelCase__   ,				UpperCamelCase__      ) or n < 1:
				return False

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






def 			SCREAMING_SNAKE_CASE__							(    UpperCamelCase__:							int      ):
		if not isinstance(UpperCamelCase__   ,				UpperCamelCase__      ) or n < 1:
				return False

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

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

		return n == total






def 			SCREAMING_SNAKE_CASE__							(    UpperCamelCase__:							int      ):
		if not isinstance(UpperCamelCase__   ,				UpperCamelCase__      ) or n < 1:
				return False
		SCREAMING_SNAKE_CASE__								= len(str(UpperCamelCase__      )      )  # 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(UpperCamelCase__      ) ** expo for i in str(UpperCamelCase__      )      )






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


if __name__ == "__main__":
	import doctest

	doctest.testmod()
	main()






from __future__ import annotations






def 			SCREAMING_SNAKE_CASE__							(    UpperCamelCase__:							list[int | float]      ):
		if len(UpperCamelCase__      ) == 0:
				raise ValueError("""find_min() arg is an empty sequence"""      )
		SCREAMING_SNAKE_CASE__								= nums[0]
		for num in nums:
				SCREAMING_SNAKE_CASE__								= min(UpperCamelCase__   ,				UpperCamelCase__      )
		return min_num


if __name__ == "__main__":
	import doctest

	doctest.testmod(verbose=True)