




def 		__A		(	__lowerCamelCase    )      ->       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.')







from math import pi, sqrt





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





def 		__A		(	)      ->       None:
	assert gamma(0.5    ) == sqrt(__lowerCamelCase    )
	assert gamma(1    ) == 1.0
	assert gamma(2    ) == 1.0


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

		testmod()
		__UpperCamelCase					:       str    					=      1.0
		while num:
				__UpperCamelCase					:       Dict    					=      float(input("Gamma of: "))
				print(F'gamma({num}) = {gamma(num)}')
				print("\nEnter 0 to exit...")

