




"""simple docstring"""







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





def 							lowercase   (snake_case__				:	Any	)       ->					Optional[Any]:


				'''simple docstring'''






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

				# Odd sieve for numbers in range [3, num - 1]
				lowerCAmelCase		=			bytearray(B"""\x01"""	) * ((num >> 1) - 1)

				for i in range(3 ,    int(sqrt(__UpperCamelCase	)	) + 1 ,    2	):
								if sieve[(i >> 1) - 1]:
												lowerCAmelCase		=			i**2
												lowerCAmelCase		=			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"""







def 							lowercase   (snake_case__				:	list	)       ->					bool:


				'''simple docstring'''






				if not isinstance(snake_case__ ,    snake_case__	):
								raise ValueError("""Input series is not valid, valid series - [2, 4, 8]"""	)
				if len(snake_case__	) == 0:
								raise ValueError("""Input list must be a non empty list"""	)
				if len(snake_case__	) == 1:
								return True
				try:
								lowerCAmelCase		=			series[1] / series[0]
								for index in range(len(snake_case__	) - 1	):
												if series[index + 1] / series[index] != common_ratio:
																return False
				except ZeroDivisionError:
								return False
				return True





def 							lowercase   (snake_case__				:	list	)       ->					float:


				'''simple docstring'''






				if not isinstance(snake_case__ ,    snake_case__	):
								raise ValueError("""Input series is not valid, valid series - [2, 4, 8]"""	)
				if len(snake_case__	) == 0:
								raise ValueError("""Input list must be a non empty list"""	)
				lowerCAmelCase		=			1
				for value in series:
								answer *= value
				return pow(snake_case__ ,    1 / len(snake_case__	)	)


if __name__ == "__main__":
		import doctest

		doctest.testmod()





