


def UpperCamelCase_				(				__a      )	->   bool:
      return sum(i for i in range(1			,				number // 2 + 1      ) if number % i == 0      ) == number


if __name__ == "__main__":
    print("""Program to check whether a number is a Perfect number or not...""")
    UpperCamelCase					:       Union[str, Any]			    =     int(input("""Enter number: """).strip())
    print(f"""{number} is {"" if perfect(number) else "not "}a Perfect Number.""")







'''simple docstring'''


from math import pi, sqrt
def 						snake_case_       (UpperCamelCase			:    float ):





							'''simple docstring'''


							if num <= 0:
														raise ValueError('''math domain error''' )
							if num > 171.5:
														raise OverflowError('''math range error''' )
							elif num - int(UpperCamelCase ) not in (0, 0.5):
														raise NotImplementedError('''num must be an integer or a half-integer''' )
							elif num == 0.5:
														return sqrt(UpperCamelCase )
							else:
														return 1.0 if num == 1 else (num - 1) * gamma(num - 1 )
def 						snake_case_       ():





							'''simple docstring'''


							assert gamma(0.5 ) == sqrt(UpperCamelCase )
							assert gamma(1 ) == 1.0
							assert gamma(2 ) == 1.0


if __name__ == "__main__":
				from doctest import testmod

				testmod()
				_snake_case : Optional[Any]  				=						1.0
				while num:
								_snake_case : Dict  				=						float(input('Gamma of: '))
								print(F'''gamma({num}) = {gamma(num)}''')
								print('\nEnter 0 to exit...')

