




'''simple docstring'''





from decimal import Decimal, getcontext
from math import ceil, factorial





def      __a     (       _UpperCamelCase:   List[str]   )						->			str:

					"""simple docstring"""




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

					_snake_case							=				precision
					_snake_case							=				ceil(precision / 14   )
					_snake_case							=				426_880 * Decimal(10_005   ).sqrt()
					_snake_case							=				1
					_snake_case							=				13_591_409
					_snake_case							=				Decimal(lowerCamelCase_   )
					for k in range(1 ,						lowerCamelCase_   ):
										_snake_case							=				factorial(6 * k   ) // (factorial(3 * k   ) * factorial(lowerCamelCase_   ) ** 3)
										linear_term += 545_140_134
										exponential_term *= -262_537_412_640_768_000
										partial_sum += Decimal(multinomial_term * linear_term   ) / exponential_term
					return str(constant_term / partial_sum   )[:-1]


if __name__ == "__main__":
			UpperCamelCase_						:      Optional[int]       =						50
			print(F'The first {n} digits of pi is: {pi(n)}')








'''simple docstring'''





from decimal import Decimal, getcontext
from math import ceil, factorial





def      __a     (       _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							=				precision
     _snake_case							=				ceil(precision / 14   )
     _snake_case							=				426_880 * Decimal(10_005   ).sqrt()
     _snake_case							=				1
     _snake_case							=				13_591_409
     _snake_case							=				Decimal(_UpperCamelCase   )
     for k in range(1 ,						_UpperCamelCase   ):
          _snake_case							=				factorial(6 * k   ) // (factorial(3 * k   ) * factorial(_UpperCamelCase   ) ** 3)
          linear_term += 545_140_134
          exponential_term *= -262_537_412_640_768_000
          partial_sum += Decimal(multinomial_term * linear_term   ) / exponential_term
     return str(constant_term / partial_sum   )[:-1]


if __name__ == "__main__":
   UpperCamelCase_						:      Any       =						50
   print(F'The first {n} digits of pi is: {pi(n)}')


