




'''simple docstring'''


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



def  _SCREAMING_SNAKE_CASE     (      UpperCamelCase__    :					int				):




     """simple docstring"""


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

     a_     :							List[str]     						=  precision
     a_     :							Optional[int]     						=  ceil(precision / 14				)
     a_     :							Union[str, Any]     						=  42_6880 * Decimal(1_0005				).sqrt()
     a_     :							Optional[Any]     						=  1
     a_     :							Optional[Any]     						=  1359_1409
     a_     :							List[Any]     						=  Decimal(lowerCamelCase__				)
     for k in range(1 ,    lowerCamelCase__				):
          a_     :							Optional[int]     						=  factorial(6 * k				) // (factorial(3 * k				) * factorial(lowerCamelCase__				) ** 3)
          linear_term += 5_4514_0134
          exponential_term *= -26_2537_4126_4076_8000
          partial_sum += Decimal(multinomial_term * linear_term				) / exponential_term
     return str(constant_term / partial_sum				)[:-1]


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




"""simple docstring"""


from ..utils import DummyObject, requires_backends

class 				_SCREAMING_SNAKE_CASE				(							metaclass=__UpperCAmelCase  ):
   """simple docstring"""



   _a   :       Optional[int]									=    ['''note_seq''']


   def __init__(						self ,     *lowerCamelCase__ ,     **lowerCamelCase__						)      ->							Tuple:
    requires_backends(self ,     ["""note_seq"""]						)


   @classmethod
   def 					UpperCAmelCase__(						cls ,     *lowerCamelCase__ ,     **lowerCamelCase__						)      ->							Tuple:
    requires_backends(cls ,     ["""note_seq"""]						)







   @classmethod
   def 					UpperCAmelCase__(						cls ,     *lowerCamelCase__ ,     **lowerCamelCase__						)      ->							Tuple:
    requires_backends(cls ,     ["""note_seq"""]						)