





"""simple docstring"""



from __future__ import annotations

from collections.abc import Generator







def 		__lowercase					(       )       ->Generator[int, None, None]:



    '''simple docstring'''







    __A   :						dict[int, int]									=					{}
    __A   :						Dict									=					2
    while True:
        __A   :						List[str]									=					factor_map.pop(snake_case_    ,snake_case_						)
        if factor:
            __A   :						List[str]									=					factor + prime
            while x in factor_map:
                x += factor
            __A   :						List[Any]									=					factor
        else:
            __A   :						Dict									=					prime
            yield prime
        prime += 1







def 		__lowercase					(       snake_case_  :  float = 1e10						)       ->int:



    '''simple docstring'''







    __A   :						Tuple									=					sieve()

    __A   :						int									=					1
    while True:
        __A   :						Optional[Any]									=					next(snake_case_						)
        if (2 * prime * n) > limit:
            return n
        # Ignore the next prime as the reminder will be 2.
        next(snake_case_						)
        n += 2


if __name__ == "__main__":
       print(solution())











"""simple docstring"""



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







def 		__lowercase					(       snake_case_  :  int						)       ->str:



    '''simple docstring'''







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

    __A   :						int									=					precision
    __A   :						Tuple									=					ceil(precision / 14						)
    __A   :						Dict									=					426880 * Decimal(10005						).sqrt()
    __A   :						Optional[Any]									=					1
    __A   :						int									=					13591409
    __A   :						Optional[int]									=					Decimal(snake_case_						)
    for k in range(1    ,snake_case_						):
        __A   :						int									=					factorial(6 * k						) // (factorial(3 * k						) * factorial(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__":
       a_			=      50
       print(f'''The first {n} digits of pi is: {pi(n)}''')




