





from math import pi, sqrt

def       A__(		__lowerCAmelCase ):
				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__(		):
				assert gamma(0.5 ) == sqrt(__lowerCAmelCase )
				assert gamma(1 ) == 1.0
				assert gamma(2 ) == 1.0


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

		testmod()
		lowercase_		:				Any				=						1.0
		while num:
				lowercase_		:				Union[str, Any]				=						float(input('''Gamma of: '''))
				print(F'''gamma({num}) = {gamma(num)}''')
				print('''\nEnter 0 to exit...''')













lowercase_		:				Tuple				=						'''
# Installazione di Transformers
! pip install transformers datasets
# Per installare dalla fonte invece dell\'ultima versione rilasciata, commenta il comando sopra e
# rimuovi la modalità commento al comando seguente.
# ! pip install git+https://github.com/huggingface/transformers.git
'''

lowercase_		:				Optional[int]				=						[{'''type''': '''code''', '''content''': INSTALL_CONTENT}]
lowercase_		:				str				=						{
    '''{processor_class}''': '''FakeProcessorClass''',
    '''{model_class}''': '''FakeModelClass''',
    '''{object_class}''': '''FakeObjectClass''',
}






