






'''simple docstring'''
from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_flax_available, is_torch_available


a_											=			{
    """configuration_gpt_neo""": ["""GPT_NEO_PRETRAINED_CONFIG_ARCHIVE_MAP""", """GPTNeoConfig""", """GPTNeoOnnxConfig"""],
}

try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  a_											=			[
      """GPT_NEO_PRETRAINED_MODEL_ARCHIVE_LIST""",
      """GPTNeoForCausalLM""",
      """GPTNeoForQuestionAnswering""",
      """GPTNeoForSequenceClassification""",
      """GPTNeoForTokenClassification""",
      """GPTNeoModel""",
      """GPTNeoPreTrainedModel""",
      """load_tf_weights_in_gpt_neo""",
  ]

try:
  if not is_flax_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  a_											=			[
      """FlaxGPTNeoForCausalLM""",
      """FlaxGPTNeoModel""",
      """FlaxGPTNeoPreTrainedModel""",
  ]


if TYPE_CHECKING:
  from .configuration_gpt_neo import GPT_NEO_PRETRAINED_CONFIG_ARCHIVE_MAP, GPTNeoConfig, GPTNeoOnnxConfig

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_gpt_neo import (
        GPT_NEO_PRETRAINED_MODEL_ARCHIVE_LIST,
        GPTNeoForCausalLM,
        GPTNeoForQuestionAnswering,
        GPTNeoForSequenceClassification,
        GPTNeoForTokenClassification,
        GPTNeoModel,
        GPTNeoPreTrainedModel,
        load_tf_weights_in_gpt_neo,
    )

  try:
    if not is_flax_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_flax_gpt_neo import FlaxGPTNeoForCausalLM, FlaxGPTNeoModel, FlaxGPTNeoPreTrainedModel


else:
  import sys

  a_											=			_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)






from __future__ import annotations

import math


def 		_SCREAMING_SNAKE_CASE     ( lowerCAmelCase__						):

		if num <= 0:
				lowerCamelCase_	:     Optional[int] 						=      F"{num}: Invalid input, please enter a positive integer."
				raise ValueError(lowerCAmelCase__						)

		lowerCamelCase_	:     str 						=      [True] * (num + 1)
		lowerCamelCase_	:     List[str] 						=      []
		lowerCamelCase_	:     Optional[int] 						=      2
		lowerCamelCase_	:     List[str] 						=      int(math.sqrt(lowerCAmelCase__						)						)

		while start <= end:
				# If start is a prime
				if sieve[start] is True:
						prime.append(lowerCAmelCase__						)

						# Set multiples of start be False
						for i in range(start * start							,num + 1							,lowerCAmelCase__						):
								if sieve[i] is True:
										lowerCamelCase_	:     Tuple 						=      False

				start += 1

		for j in range(end + 1							,num + 1						):
				if sieve[j] is True:
						prime.append(lowerCAmelCase__						)

		return prime


if __name__ == "__main__":
		print(prime_sieve(int(input("""Enter a positive integer: """).strip())))
