


'''simple docstring'''
__snake_case							   =  {
    "km/h": 1.0,
    "m/s": 3.6,
    "mph": 1.60_9344,
    "knot": 1.852,
}

__snake_case							   =  {
    "km/h": 1.0,
    "m/s": 0.2_7777_7778,
    "mph": 0.6_2137_1192,
    "knot": 0.5_3995_6803,
}


def     a   (    __a				,      __a				,      __a     )						->			float:



					'''simple docstring'''






					if unit_to not in speed_chart or unit_from not in speed_chart_inverse:
										UpperCamelCase__     :Optional[Any]							      =				(
										    f'''Incorrect \'from_type\' or \'to_type\' value: {unit_from!r}, {unit_to!r}\n'''
										    f'''Valid values are: {", ".join(__a     )}'''
										)
										raise ValueError(__a     )
					return round(speed * speed_chart[unit_from] * speed_chart_inverse[unit_to]				,      3     )


if __name__ == "__main__":
		import doctest

		doctest.testmod()



'''simple docstring'''
class      lowercase			:

		"""simple docstring"""

		def __init__(	self					,     UpperCamelCase_							):

							'''simple docstring'''


							UpperCamelCase__     :Union[str, Any]							      =				n
							UpperCamelCase__     :Tuple							      =				[None] * self.n
							UpperCamelCase__     :str							      =				0  # index of the first element
							UpperCamelCase__     :List[Any]							      =				0
							UpperCamelCase__     :Dict							      =				0




		def __len__(	self							):

							'''simple docstring'''


							return self.size




		def 					lowerCAmelCase__       (	self							):

							'''simple docstring'''


							return self.size == 0




		def 					lowerCAmelCase__       (	self							):

							'''simple docstring'''


							return False if self.is_empty() else self.array[self.front]




		def 					lowerCAmelCase__       (	self					,     UpperCamelCase_							):

							'''simple docstring'''


							if self.size >= self.n:
												raise Exception('''QUEUE IS FULL'''							)

							UpperCamelCase__     :List[Any]							      =				data
							UpperCamelCase__     :List[Any]							      =				(self.rear + 1) % self.n
							self.size += 1
							return self




		def 					lowerCAmelCase__       (	self							):

							'''simple docstring'''


							if self.size == 0:
												raise Exception('''UNDERFLOW'''							)

							UpperCamelCase__     :Dict							      =				self.array[self.front]
							UpperCamelCase__     :Union[str, Any]							      =				None
							UpperCamelCase__     :Union[str, Any]							      =				(self.front + 1) % self.n
							self.size -= 1
							return temp