
from __future__ import annotations

from functools import lru_cache
from math import ceil

_UpperCAmelCase					: int      =       100

_UpperCAmelCase					: Any      =       set(range(3, NUM_PRIMES, 2))
primes.add(2)
_UpperCAmelCase					: int

for prime in range(3, ceil(NUM_PRIMES**0.5), 2):
					if prime not in primes:
										continue
					primes.difference_update(set(range(prime * prime, NUM_PRIMES, prime)))


@lru_cache(maxsize=100 )
def       A       (					lowercase )   ->  set[int]:
		'''simple docstring'''

		if number_to_partition < 0:
				return set()
		elif number_to_partition == 0:
				return {1}

		UpperCamelCase		=     set()
		UpperCamelCase		=     42
		UpperCamelCase		=     42

		for prime in primes:
				if prime > number_to_partition:
						continue
				for sub in partition(number_to_partition - prime ):
						ret.add(sub * prime )

		return ret


def       A       (					lowercase = 5_000 )   ->  int | None:
		'''simple docstring'''

		for number_to_partition in range(1    ,       lowercase ):
				if len(partition(lowercase ) ) > number_unique_partitions:
						return number_to_partition
		return None


if __name__ == "__main__":
					print(F'''{solution() = }''')


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


def       A       (					lowercase )   ->  str:
		'''simple docstring'''

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

		UpperCamelCase		=     precision
		UpperCamelCase		=     ceil(precision / 14 )
		UpperCamelCase		=     426_880 * Decimal(10_005 ).sqrt()
		UpperCamelCase		=     1
		UpperCamelCase		=     13_591_409
		UpperCamelCase		=     Decimal(lowercase )
		for k in range(1    ,       lowercase ):
				UpperCamelCase		=     factorial(6 * k ) // (factorial(3 * k ) * factorial(lowercase ) ** 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					: Dict      =       50
					print(F'''The first {n} digits of pi is: {pi(n)}''')
