from ..utils import DummyObject, requires_backends





class 					__snake_case    (     metaclass=_lowerCamelCase      ):
					__lowerCamelCase			   =  ['torch', 'librosa']




					def __init__(  self       ,			*__UpperCamelCase       ,			**__UpperCamelCase						)	->    int:



									'''simple docstring'''







									requires_backends(self       ,			['torch', 'librosa']						)




					@classmethod
					def      __a     (  cls       ,			*__UpperCamelCase       ,			**__UpperCamelCase						)	->    Tuple:



									'''simple docstring'''







									requires_backends(cls       ,			['torch', 'librosa']						)




					@classmethod
					def      __a     (  cls       ,			*__UpperCamelCase       ,			**__UpperCamelCase						)	->    Tuple:



									'''simple docstring'''







									requires_backends(cls       ,			['torch', 'librosa']						)





class 					__snake_case    (     metaclass=_lowerCamelCase      ):
					__lowerCamelCase			   =  ['torch', 'librosa']




					def __init__(  self       ,			*__UpperCamelCase       ,			**__UpperCamelCase						)	->    int:



									'''simple docstring'''







									requires_backends(self       ,			['torch', 'librosa']						)




					@classmethod
					def      __a     (  cls       ,			*__UpperCamelCase       ,			**__UpperCamelCase						)	->    Union[str, Any]:



									'''simple docstring'''







									requires_backends(cls       ,			['torch', 'librosa']						)




					@classmethod
					def      __a     (  cls       ,			*__UpperCamelCase       ,			**__UpperCamelCase						)	->    Any:



									'''simple docstring'''







									requires_backends(cls       ,			['torch', 'librosa']						)







from itertools import compress, repeat
from math import ceil, sqrt
def 						snake_case__							(       __lowercase							)		->		list[int]:







						"""simple docstring"""

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

						# Odd sieve for numbers in range [3, num - 1]
						A__						:				Dict         =			bytearray(b"\x01"							) * ((num >> 1) - 1)

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

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


if __name__ == "__main__":
		import doctest

		doctest.testmod()