





'''simple docstring'''


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


def 		__a(SCREAMING_SNAKE_CASE_					:   int      ):



    '''simple docstring'''





    if not isinstance(UpperCamelCase_						,    UpperCamelCase_      ) 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 //= 10
    # Dividing number into separate digits and find Armstrong number
    _lowerCAmelCase		     = n
    while temp > 0:
        _lowerCAmelCase		     = temp % 10
        total += rem**number_of_digits
        temp //= 10
    return n == total


def 		__a(SCREAMING_SNAKE_CASE_					:   int      ):



    '''simple docstring'''





    if not isinstance(UpperCamelCase_						,    UpperCamelCase_      ) 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(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 		__a(SCREAMING_SNAKE_CASE_					:   int      ):



    '''simple docstring'''





    if not isinstance(UpperCamelCase_						,    UpperCamelCase_      ) or n < 1:
        return False
    _lowerCAmelCase		     = 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 		__a():



    '''simple docstring'''





    _lowerCAmelCase		     = 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()









'''simple docstring'''


def 		__a(SCREAMING_SNAKE_CASE_					:   int = 1000      ):



    '''simple docstring'''





    return sum(i for i in range(SCREAMING_SNAKE_CASE_      ) if i % 3 == 0 or i % 5 == 0      )


if __name__ == "__main__":
       print(f'''{solution() = }''')


