

from ..utils import DummyObject, requires_backends





class 	snake_case_   (		metaclass=__A					):







			'''simple docstring'''

			SCREAMING_SNAKE_CASE     :   List[Any]									=				["flax", "transformers"]







			def __init__(     self :				Optional[int]							,   *_UpperCamelCase :				int							,   **_UpperCamelCase :				Tuple							)      ->Any:
									requires_backends(self							,   ['''flax''', '''transformers''']							)







			@classmethod
			def 				snake_case__(     cls :				List[str]							,   *_UpperCamelCase :				int							,   **_UpperCamelCase :				str							)      ->Any:
									requires_backends(cls							,   ['''flax''', '''transformers''']							)







			@classmethod
			def 				snake_case__(     cls :				Union[str, Any]							,   *_UpperCamelCase :				Optional[Any]							,   **_UpperCamelCase :				Any							)      ->Dict:
									requires_backends(cls							,   ['''flax''', '''transformers''']							)






class 	snake_case_   (		metaclass=__A					):







			'''simple docstring'''

			SCREAMING_SNAKE_CASE     :   Dict									=				["flax", "transformers"]







			def __init__(     self :				Any							,   *_UpperCamelCase :				Optional[Any]							,   **_UpperCamelCase :				Optional[int]							)      ->Dict:
									requires_backends(self							,   ['''flax''', '''transformers''']							)







			@classmethod
			def 				snake_case__(     cls :				str							,   *_UpperCamelCase :				List[Any]							,   **_UpperCamelCase :				int							)      ->str:
									requires_backends(cls							,   ['''flax''', '''transformers''']							)







			@classmethod
			def 				snake_case__(     cls :				str							,   *_UpperCamelCase :				List[Any]							,   **_UpperCamelCase :				Dict							)      ->Union[str, Any]:
									requires_backends(cls							,   ['''flax''', '''transformers''']							)






class 	snake_case_   (		metaclass=__A					):







			'''simple docstring'''

			SCREAMING_SNAKE_CASE     :   List[Any]									=				["flax", "transformers"]







			def __init__(     self :				Union[str, Any]							,   *_UpperCamelCase :				Dict							,   **_UpperCamelCase :				Tuple							)      ->List[str]:
									requires_backends(self							,   ['''flax''', '''transformers''']							)







			@classmethod
			def 				snake_case__(     cls :				Optional[int]							,   *_UpperCamelCase :				str							,   **_UpperCamelCase :				str							)      ->Union[str, Any]:
									requires_backends(cls							,   ['''flax''', '''transformers''']							)







			@classmethod
			def 				snake_case__(     cls :				Any							,   *_UpperCamelCase :				Any							,   **_UpperCamelCase :				List[str]							)      ->int:
									requires_backends(cls							,   ['''flax''', '''transformers''']							)






class 	snake_case_   (		metaclass=__A					):







			'''simple docstring'''

			SCREAMING_SNAKE_CASE     :   Optional[Any]									=				["flax", "transformers"]







			def __init__(     self :				Tuple							,   *_UpperCamelCase :				str							,   **_UpperCamelCase :				int							)      ->Any:
									requires_backends(self							,   ['''flax''', '''transformers''']							)







			@classmethod
			def 				snake_case__(     cls :				List[Any]							,   *_UpperCamelCase :				List[str]							,   **_UpperCamelCase :				Union[str, Any]							)      ->List[Any]:
									requires_backends(cls							,   ['''flax''', '''transformers''']							)







			@classmethod
			def 				snake_case__(     cls :				Union[str, Any]							,   *_UpperCamelCase :				str							,   **_UpperCamelCase :				List[Any]							)      ->List[Any]:
									requires_backends(cls							,   ['''flax''', '''transformers''']							)


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


def   __SCREAMING_SNAKE_CASE					(SCREAMING_SNAKE_CASE__       ):

						if not isinstance(SCREAMING_SNAKE_CASE__  ,		SCREAMING_SNAKE_CASE__       ):
												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_   =	426880 * Decimal(10005       ).sqrt()
						snake_case_   =	1
						snake_case_   =	13591409
						snake_case_   =	Decimal(SCREAMING_SNAKE_CASE__       )
						for k in range(1  ,		SCREAMING_SNAKE_CASE__       ):
												snake_case_   =	factorial(6 * k       ) // (factorial(3 * k       ) * factorial(SCREAMING_SNAKE_CASE__       ) ** 3)
												linear_term += 545140134
												exponential_term *= -262537412640768000
												partial_sum += Decimal(multinomial_term * linear_term       ) / exponential_term
						return str(constant_term / partial_sum       )[:-1]


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