"""simple docstring"""







from ..utils import DummyObject, requires_backends

class 		UpperCamelCase      (   metaclass=SCREAMING_SNAKE_CASE__						):
				UpperCAmelCase    :				Any   =		['''torch''', '''scipy''']



				def __init__(self    :				Union[str, Any]     ,  *_A    :				Any     ,  **_A    :				Tuple)   ->     List[str]:
					requires_backends(self     ,  ['torch', 'scipy'])



				@classmethod
				def  _lowercase					(cls    :				Optional[int]     ,  *_A    :				List[str]     ,  **_A    :				List[Any])   ->     Dict:
					requires_backends(cls     ,  ['torch', 'scipy'])






				@classmethod
				def  _lowercase					(cls    :				Optional[int]     ,  *_A    :				Any     ,  **_A    :				List[str])   ->     Union[str, Any]:
					requires_backends(cls     ,  ['torch', 'scipy'])

"""simple docstring"""







from decimal import Decimal, getcontext
from math import ceil, factorial
def   __UpperCAmelCase    (   UpperCAmelCase_   :    int  )							->      str:

	'''simple docstring'''





	if not isinstance(UpperCAmelCase_      ,							UpperCAmelCase_  ):
		raise TypeError('Undefined for non-integers'  )
	elif precision < 1:
		raise ValueError('Undefined for non-natural numbers'  )

	__snake_case      :							Any						=			precision
	__snake_case      :							Optional[int]						=			ceil(precision / 14  )
	__snake_case      :							List[Any]						=			42_68_80 * Decimal(1_00_05  ).sqrt()
	__snake_case      :							Optional[Any]						=			1
	__snake_case      :							Union[str, Any]						=			13_59_14_09
	__snake_case      :							int						=			Decimal(UpperCAmelCase_  )
	for k in range(1      ,							UpperCAmelCase_  ):
		__snake_case      :							Union[str, Any]						=			factorial(6 * k  ) // (factorial(3 * k  ) * factorial(UpperCAmelCase_  ) ** 3)
		linear_term += 5_45_14_01_34
		exponential_term *= -26_25_37_41_26_40_76_80_00
		partial_sum += Decimal(multinomial_term * linear_term  ) / exponential_term
	return str(constant_term / partial_sum  )[:-1]


if __name__ == "__main__":
	_a					:					List[Any]=			50
	print(f'''The first {n} digits of pi is: {pi(n)}''')





