from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_torch_available,
)


A_      =      {
    "configuration_gpt_bigcode": ["GPT_BIGCODE_PRETRAINED_CONFIG_ARCHIVE_MAP", "GPTBigCodeConfig"],
}

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      A_      =      [
          "GPT_BIGCODE_PRETRAINED_MODEL_ARCHIVE_LIST",
          "GPTBigCodeForSequenceClassification",
          "GPTBigCodeForTokenClassification",
          "GPTBigCodeForCausalLM",
          "GPTBigCodeModel",
          "GPTBigCodePreTrainedModel",
      ]

if TYPE_CHECKING:
      from .configuration_gpt_bigcode import GPT_BIGCODE_PRETRAINED_CONFIG_ARCHIVE_MAP, GPTBigCodeConfig

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_gpt_bigcode import (
                GPT_BIGCODE_PRETRAINED_MODEL_ARCHIVE_LIST,
                GPTBigCodeForCausalLM,
                GPTBigCodeForSequenceClassification,
                GPTBigCodeForTokenClassification,
                GPTBigCodeModel,
                GPTBigCodePreTrainedModel,
            )


else:
      import sys

      A_      =      _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)






from __future__ import annotations

import math






def        __UpperCAmelCase    (       UpperCAmelCase       )->       list[int]:



			"""simple docstring"""







			if num <= 0:
						lowercase							=		f'{num}: Invalid input, please enter a positive integer.'
						raise ValueError(UpperCAmelCase       )

			lowercase							=		[True] * (num + 1)
			lowercase							=		[]
			lowercase							=		2
			lowercase							=		int(math.sqrt(UpperCAmelCase       )       )

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

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

						start += 1

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

			return prime


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





