

"""simple docstring"""





__UpperCamelCase						:   Optional[Any]							   =	(1, 1_5_3, 3_7_0, 3_7_1, 1_6_3_4, 2_4_6_7_8_0_5_1, 1_1_5_1_3_2_2_1_9_0_1_8_7_6_3_9_9_2_5_6_5_0_9_5_5_9_7_9_7_3_9_7_1_5_2_2_4_0_1)
__UpperCamelCase						:   tuple							   =	(-1_5_3, -1, 0, 1.2, 2_0_0, "A", [], {}, None)

def 						__SCREAMING_SNAKE_CASE						(   A_				):
	if not isinstance(A_		,  A_				) or n < 1:
		return False

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

def 						__SCREAMING_SNAKE_CASE						(   A_				):
	if not isinstance(A_		,  A_				) or n < 1:
		return False

	# Init a "histogram" of the digits
	lowerCAmelCase__			:		List[Any]						       =			[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
	lowerCAmelCase__			:		List[str]						       =			0
	lowerCAmelCase__			:		Optional[int]						       =			0
	lowerCAmelCase__			:		Dict						       =			n
	while temp > 0:
		lowerCAmelCase__       ,lowerCAmelCase__			:		Union[str, Any]						       =			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 						__SCREAMING_SNAKE_CASE						(   A_				):
	if not isinstance(A_		,  A_				) or n < 1:
		return False
	lowerCAmelCase__			:		Any						       =			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 						__SCREAMING_SNAKE_CASE						(   ):
	lowerCAmelCase__			:		Optional[int]						       =			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()







"""simple docstring"""





def 						__SCREAMING_SNAKE_CASE						(   A_				):
	lowerCAmelCase__			:		List[Any]						       =			53_81
	for x in s:
		lowerCAmelCase__			:		Tuple						       =			((hash_value << 5) + hash_value) + ord(A_				)
	return hash_value & 0Xf_f_f_f_f_f_f_f




