


"""simple docstring"""





import math
from collections.abc import Generator





def     lowercase__	(  lowerCamelCase     :  int				)					->     Generator[int, None, None]:
  lowerCAmelCase__    :    Generator								=					(i for i in range(1				,	(max_n + 1)				))
  for i in (n for n in numbers if n > 1):
    for j in range(2				,	lowerCamelCase				):
      if (i % j) == 0:
        break
    else:
      yield i





def     lowercase__	(  lowerCamelCase     :  int				)					->     Generator[int, None, None]:
  lowerCAmelCase__    :    Generator								=					(i for i in range(1				,	(max_n + 1)				))
  for i in (n for n in numbers if n > 1):
    # only need to check for factors up to sqrt(i)
    lowerCAmelCase__    :    Optional[int]								=					int(math.sqrt(lowerCamelCase				)				) + 1
    for j in range(2				,	lowerCamelCase				):
      if (i % j) == 0:
        break
    else:
      yield i





def     lowercase__	(  lowerCamelCase     :  int				)					->     Generator[int, None, None]:
  lowerCAmelCase__    :    Generator								=					(i for i in range(1				,	(max_n + 1)				,	2				))
  # It's useless to test even numbers as they will not be prime
  if max_n > 2:
    yield 2  # Because 2 will not be tested, it's necessary to yield it now
  for i in (n for n in numbers if n > 1):
    lowerCAmelCase__    :    Any								=					int(math.sqrt(lowerCamelCase				)				) + 1
    for j in range(3				,	lowerCamelCase				,	2				):
      # As we removed the even numbers, we don't need them now
      if (i % j) == 0:
        break
    else:
      yield i





def     lowercase__	(  )					->     List[str]:
  from timeit import timeit

  lowerCAmelCase__    :    List[Any]								=					"from __main__ import slow_primes, primes, fast_primes"
  print(timeit("slow_primes(1_000_000_000_000)"				,	setup=lowerCamelCase				,	number=1_0_0_0_0_0_0				)				)
  print(timeit("primes(1_000_000_000_000)"				,	setup=lowerCamelCase				,	number=1_0_0_0_0_0_0				)				)
  print(timeit("fast_primes(1_000_000_000_000)"				,	setup=lowerCamelCase				,	number=1_0_0_0_0_0_0				)				)


if __name__ == "__main__":
   __UpperCAmelCase    				=      int(input("Calculate primes up to:\n>> ").strip())
   for ret in primes(number):
      print(ret)
   benchmark()




"""simple docstring"""





from math import factorial





def     lowercase__	(  lowerCamelCase     :  Dict				,	lowerCamelCase     :  int				)					->     Tuple:
  return factorial(lowerCamelCase				) / (factorial(lowerCamelCase				) * factorial(n - r				))





def     lowercase__	(  )					->     Optional[Any]:
  lowerCAmelCase__    :    List[Any]								=					0

  for i in range(1				,	1_0_1				):
    for j in range(1				,	i + 1				):
      if combinations(lowerCamelCase				,	lowerCamelCase				) > 1e6:
        total += 1
  return total


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