from __future__ import annotations

import math




def    lowerCAmelCase_ (     __A							)     ->				list[int]:







      '''simple docstring'''


      if num <= 0:
            UpperCAmelCase__								=  f"""{num}: Invalid input, please enter a positive integer."""
            raise ValueError(__A							)

      UpperCAmelCase__								=  [True] * (num + 1)
      UpperCAmelCase__								=  []
      UpperCAmelCase__								=  2
      UpperCAmelCase__								=  int(math.sqrt(__A							)							)

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

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

            start += 1

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

      return prime


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




import math




def    lowerCAmelCase_ (     __A							)     ->				bool:







      '''simple docstring'''


      return math.sqrt(__A							) * math.sqrt(__A							) == num




def    lowerCAmelCase_ (     __A							)     ->				bool:







      '''simple docstring'''


      UpperCAmelCase__								=  0
      UpperCAmelCase__								=  n
      while left <= right:
            UpperCAmelCase__								=  (left + right) // 2
            if mid**2 == n:
                  return True
            elif mid**2 > n:
                  UpperCAmelCase__								=  mid - 1
            else:
                  UpperCAmelCase__								=  mid + 1
      return False


if __name__ == "__main__":
      import doctest

      doctest.testmod()



