






'''simple docstring'''
def 			_a(	UpperCamelCase__					:    str				):




      '''simple docstring'''






      if bit_count < 0:
            raise ValueError('''The given input must be positive'''				)

      # get the generated string sequence
      SCREAMING_SNAKE_CASE__  :					List[Any]						=gray_code_sequence_string(lowerCAmelCase__				)
      #
      # convert them to integers
      for i in range(len(lowerCAmelCase__				)				):
            SCREAMING_SNAKE_CASE__  :					Optional[int]						=int(sequence[i],						2				)

      return sequence





def 			_a(	UpperCamelCase__					:    List[str]				):




      '''simple docstring'''






      if bit_count == 0:
            return ["0"]

      if bit_count == 1:
            return ["0", "1"]

      SCREAMING_SNAKE_CASE__  :					int						=1 << bit_count  # defines the length of the sequence
      # 1<< n is equivalent to 2^n

      # recursive answer will generate answer for n-1 bits
      SCREAMING_SNAKE_CASE__  :					Optional[int]						=gray_code_sequence_string(bit_count - 1				)

      SCREAMING_SNAKE_CASE__  :					Tuple						=[]

      # append 0 to first half of the smaller sequence generated
      for i in range(seq_len // 2				):
            SCREAMING_SNAKE_CASE__  :					Optional[Any]						='0' + smaller_sequence[i]
            sequence.append(lowerCAmelCase__				)

      # append 1 to second half ... start from the end of the list
      for i in reversed(range(seq_len // 2				)				):
            SCREAMING_SNAKE_CASE__  :					Any						='1' + smaller_sequence[i]
            sequence.append(lowerCAmelCase__				)

      return sequence


if __name__ == "__main__":
  import doctest

  doctest.testmod()






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())))
