


'''simple docstring'''


def      lowerCamelCase					(      lowerCamelCase  :      list[int]):
      A_						:  str          =				[]
      if len(lowerCamelCase) == 1:
            return [nums.copy()]
      for _ in range(len(lowerCamelCase)):
            A_						:  Optional[Any]          =				nums.pop(0)
            A_						:  Tuple          =				permute(lowerCamelCase)
            for perm in permutations:
                  perm.append(lowerCamelCase)
            result.extend(lowerCamelCase)
            nums.append(lowerCamelCase)
      return result




def      lowerCamelCase					(      lowerCamelCase  :      Dict):

      def backtrack(lowerCamelCase  :      Tuple):
            if start == len(lowerCamelCase) - 1:
                  output.append(nums[:])
            else:
                  for i in range(lowerCamelCase							,						len(lowerCamelCase)):
                        A_   ,					A_						:  Any          =				nums[i], nums[start]
                        backtrack(start + 1)
                        A_   ,					A_						:  List[str]          =				nums[i], nums[start]  # backtrack

      A_						:  List[str]          =				[]
      backtrack(0)
      return output


if __name__ == "__main__":
     import doctest

     # use res to print the data in permute2 function
     __magic_name__			=      permutea([1, 2, 3])
     print(res)
     doctest.testmod()




'''simple docstring'''


from __future__ import annotations

import math




def      lowerCamelCase					(      lowerCamelCase  :      int):

      if num <= 0:
            A_						:  List[Any]          =				F'{num}: Invalid input, please enter a positive integer.'
            raise ValueError(lowerCamelCase)

      A_						:  str          =				[True] * (num + 1)
      A_						:  Tuple          =				[]
      A_						:  str          =				2
      A_						:  Any          =				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:
                              A_						:  Union[str, Any]          =				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())))
