




'''simple docstring'''




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




def 						snake_case__    ( lowerCamelCase__				:   int			)   ->   bool:
					if not isinstance(lowerCamelCase__			,		lowerCamelCase__			) or n < 1:
										return False

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




def 						snake_case__    ( lowerCamelCase__				:   int			)   ->   bool:
					if not isinstance(lowerCamelCase__			,		lowerCamelCase__			) or n < 1:
										return False

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

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


snake_case__          =						{"""configuration_nat""": ["""NAT_PRETRAINED_CONFIG_ARCHIVE_MAP""", """NatConfig"""]}


try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							snake_case__          =						[
							    """NAT_PRETRAINED_MODEL_ARCHIVE_LIST""",
							    """NatForImageClassification""",
							    """NatModel""",
							    """NatPreTrainedModel""",
							    """NatBackbone""",
							]

if TYPE_CHECKING:
							from .configuration_nat import NAT_PRETRAINED_CONFIG_ARCHIVE_MAP, NatConfig

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_nat import (
														    NAT_PRETRAINED_MODEL_ARCHIVE_LIST,
														    NatBackbone,
														    NatForImageClassification,
														    NatModel,
														    NatPreTrainedModel,
														)

else:
							import sys

							snake_case__          =						_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)



