






def    __lowerCAmelCase   (    __snake_case							):

     if num <= 0:
          raise ValueError("Input must be a positive integer"							)

     __lowerCAmelCase             =       [True] * (num + 1)

     __lowerCAmelCase             =       2
     while p * p <= num:
          if primes[p]:
               for i in range(p * p       ,			num + 1       ,			__snake_case							):
                    __lowerCAmelCase             =       False
          p += 1

     return [prime for prime in range(2       ,			num + 1							) if primes[prime]]


if __name__ == "__main__":
 import doctest

 doctest.testmod()

 lowerCamelCase      :       str    =						int(input('''Enter a positive integer: ''').strip())
 print(prime_sieve_eratosthenes(user_num))














# tests directory-specific settings - this file is run automatically
# by pytest before any tests are run

import sys
import warnings
from os.path import abspath, dirname, join


# allow having multiple repository checkouts and not needing to remember to rerun
# 'pip install -e .[dev]' when switching between checkouts and running tests.
lowerCamelCase      :       Dict    =						abspath(join(dirname(dirname(__file__)), '''src'''))
sys.path.insert(1, git_repo_path)

# silence FutureWarning warnings in tests since often we can't act on them until
# they become normal warnings - i.e. the tests still need to test the current functionality
warnings.simplefilter(action='''ignore''', category=FutureWarning)





def    __lowerCAmelCase   (    __snake_case							):
     from diffusers.utils.testing_utils import pytest_addoption_shared

     pytest_addoption_shared(__snake_case							)





def    __lowerCAmelCase   (    __snake_case							):
     from diffusers.utils.testing_utils import pytest_terminal_summary_main

     __lowerCAmelCase             =       terminalreporter.config.getoption("--make-reports"							)
     if make_reports:
          pytest_terminal_summary_main(__snake_case       ,			id=__snake_case							)






