

"""simple docstring"""





from itertools import compress, repeat
from math import ceil, sqrt



def 							_lowerCAmelCase   (    UpperCAmelCase  :				int					):


					'''simple docstring'''






					if num <= 2:
										return []
					if num == 3:
										return [2]

					# Odd sieve for numbers in range [3, num - 1]
					UpperCamelCase__		:     Tuple								=bytearray(B'''\x01'''					) * ((num >> 1) - 1)

					for i in range(3   ,				int(sqrt(UpperCAmelCase					)					) + 1   ,				2					):
										if sieve[(i >> 1) - 1]:
															UpperCamelCase__		:     Any								=i**2
															UpperCamelCase__		:     List[str]								=repeat(
															    0   ,				ceil((num - i_squared) / (i << 1)					)					)

					return [2] + list(compress(range(3   ,				UpperCAmelCase   ,				2					)   ,				UpperCAmelCase					)					)


if __name__ == "__main__":
				import doctest

				doctest.testmod()





"""simple docstring"""





from __future__ import annotations



def 							_lowerCAmelCase   (    UpperCAmelCase  :				list[int]   ,				UpperCAmelCase  :				int					):


					'''simple docstring'''






					UpperCamelCase__		:     dict[int, int]								={}
					for index, val in enumerate(UpperCAmelCase					):
										UpperCamelCase__		:     List[Any]								=target - val
										if compl in chk_map:
															return [chk_map[compl], index]
										UpperCamelCase__		:     Any								=index
					return []


if __name__ == "__main__":
				import doctest

				doctest.testmod()
				print(F'''{two_sum([2, 7, 1_1, 1_5], 9) = }''')


