






import importlib.metadata
from typing import Union

from packaging.version import Version, parse

from .constants import STR_OPERATION_TO_FUNC


__lowerCamelCase      :    List[Any]   		=   parse(importlib.metadata.version("""torch"""))







def   SCREAMING_SNAKE_CASE       (				snake_case_      :							Union[str, Version]  ,						snake_case_      :							str  ,						snake_case_      :							str     ):
	if operation not in STR_OPERATION_TO_FUNC.keys():
		raise ValueError(F'''`operation` must be one of {list(STR_OPERATION_TO_FUNC.keys()     )}, received {operation}'''     )
	snake_case__				:   List[str]     =						STR_OPERATION_TO_FUNC[operation]
	if isinstance(snake_case_  ,						snake_case_     ):
		snake_case__				:   int     =						parse(importlib.metadata.version(snake_case_     )     )
	return operation(snake_case_  ,						parse(snake_case_     )     )







def   SCREAMING_SNAKE_CASE       (				snake_case_      :							str  ,						snake_case_      :							str     ):
	return compare_versions(snake_case_  ,						snake_case_  ,						snake_case_     )











def   SCREAMING_SNAKE_CASE       (				snake_case_      :							list     ):
	if len(snake_case_     ) <= 1:
		return lst

	snake_case__				:   List[Any]     =						1

	while i < len(snake_case_     ):
		if lst[i - 1] <= lst[i]:
			i += 1
		else:
			snake_case__,		snake_case__				:   Tuple     =						lst[i], lst[i - 1]
			i -= 1
			if i == 0:
				snake_case__				:   Union[str, Any]     =						1

	return lst


if __name__ == "__main__":
	__lowerCamelCase      :    Dict   		=   input("""Enter numbers separated by a comma:\n""").strip()
	__lowerCamelCase      :    Tuple   		=   [int(item) for item in user_input.split(""",""")]
	print(gnome_sort(unsorted))



