



"""simple docstring"""

from __future__ import annotations

from enum import Enum
class 						lowerCAmelCase__	(  _lowerCamelCase   ):


	'''simple docstring'''







	_SCREAMING_SNAKE_CASE  :		Optional[int]     	=   24
	_SCREAMING_SNAKE_CASE  :		List[str]     	=   21
	_SCREAMING_SNAKE_CASE  :		Optional[Any]     	=   18
	_SCREAMING_SNAKE_CASE  :		int     	=   15
	_SCREAMING_SNAKE_CASE  :		int     	=   12
	_SCREAMING_SNAKE_CASE  :		Dict     	=   9
	_SCREAMING_SNAKE_CASE  :		Any     	=   6
	_SCREAMING_SNAKE_CASE  :		Optional[int]     	=   3
	_SCREAMING_SNAKE_CASE  :		int     	=   2
	_SCREAMING_SNAKE_CASE  :		Optional[Any]     	=   1
	_SCREAMING_SNAKE_CASE  :		List[str]     	=   -1
	_SCREAMING_SNAKE_CASE  :		List[str]     	=   -2
	_SCREAMING_SNAKE_CASE  :		Optional[int]     	=   -3
	_SCREAMING_SNAKE_CASE  :		Any     	=   -6
	_SCREAMING_SNAKE_CASE  :		Tuple     	=   -9
	_SCREAMING_SNAKE_CASE  :		Optional[Any]     	=   -12
	_SCREAMING_SNAKE_CASE  :		Dict     	=   -15
	_SCREAMING_SNAKE_CASE  :		Optional[Any]     	=   -18
	_SCREAMING_SNAKE_CASE  :		str     	=   -21
	_SCREAMING_SNAKE_CASE  :		Union[str, Any]     	=   -24




class 						lowerCAmelCase__	(  _lowerCamelCase   ):


	'''simple docstring'''







	_SCREAMING_SNAKE_CASE  :		Optional[Any]     	=   8
	_SCREAMING_SNAKE_CASE  :		List[str]     	=   7
	_SCREAMING_SNAKE_CASE  :		Union[str, Any]     	=   6
	_SCREAMING_SNAKE_CASE  :		Tuple     	=   5
	_SCREAMING_SNAKE_CASE  :		str     	=   4
	_SCREAMING_SNAKE_CASE  :		List[str]     	=   3
	_SCREAMING_SNAKE_CASE  :		Optional[int]     	=   2
	_SCREAMING_SNAKE_CASE  :		Any     	=   1




def    __snake_case       (  __A			:	float       ,		__A			:	str | SIUnit       ,		__A			:	str | SIUnit       ,		)    ->					float:






				'''simple docstring'''
				if isinstance(__A       ,		__A    ):
								SCREAMING_SNAKE_CASE	:       str 							=    SIUnit[known_prefix.lower()]
				if isinstance(__A       ,		__A    ):
								SCREAMING_SNAKE_CASE	:       List[str] 							=    SIUnit[unknown_prefix.lower()]
				SCREAMING_SNAKE_CASE	:       float 							=    known_amount * (
				    10 ** (known_prefix.value - unknown_prefix.value)
				)
				return unknown_amount
def    __snake_case       (  __A			:	float       ,		__A			:	str | BinaryUnit       ,		__A			:	str | BinaryUnit       ,		)    ->					float:






				'''simple docstring'''
				if isinstance(__A       ,		__A    ):
								SCREAMING_SNAKE_CASE	:       Optional[Any] 							=    BinaryUnit[known_prefix.lower()]
				if isinstance(__A       ,		__A    ):
								SCREAMING_SNAKE_CASE	:       Optional[int] 							=    BinaryUnit[unknown_prefix.lower()]
				SCREAMING_SNAKE_CASE	:       float 							=    known_amount * (
				    2 ** ((known_prefix.value - unknown_prefix.value) * 10)
				)
				return unknown_amount


if __name__ == "__main__":
							import doctest

							doctest.testmod()










"""simple docstring"""

def    __snake_case       (  __A			:	int    )    ->					int:






				'''simple docstring'''
				if not isinstance(__A       ,		__A    ):
								raise ValueError('double_factorial() only accepts integral values'    )
				if num < 0:
								raise ValueError('double_factorial() not defined for negative values'    )
				SCREAMING_SNAKE_CASE	:       List[str] 							=    1
				for i in range(__A       ,		0       ,		-2    ):
								value *= i
				return value


if __name__ == "__main__":
							import doctest

							doctest.testmod()





