


def 				UpperCamelCase_(      lowerCamelCase_ )    ->						list:

    def merge(lowerCamelCase_							, lowerCamelCase_ ) -> list:

        def _merge():
            while left and right:
                yield (left if left[0] <= right[0] else right).pop(0 )
            yield from left
            yield from right

        return list(_merge() )

    if len(lowerCamelCase_ ) <= 1:
        return collection
    _lowercase       :							str      		=		len(lowerCamelCase_ ) // 2
    return merge(merge_sort(collection[:mid] )							, merge_sort(collection[mid:] ) )


if __name__ == "__main__":
 import doctest

 doctest.testmod()
 SCREAMING_SNAKE_CASE       :      List[Any]												= input("Enter numbers separated by a comma:\n").strip()
 SCREAMING_SNAKE_CASE       :      Any												= [int(item) for item in user_input.split(",")]
 print(*merge_sort(unsorted), sep=",")






from __future__ import annotations

from collections.abc import Iterable, Iterator
from dataclasses import dataclass

SCREAMING_SNAKE_CASE       :      Tuple												= (3, 9, -11, 0, 7, 5, 1, -1)
SCREAMING_SNAKE_CASE       :      Union[str, Any]												= (4, 6, 2, 0, 8, 10, 3, -2)






@dataclass
class _lowerCamelCase:
       lowercase_ :	int
       lowercase_ :	Node | None






class _lowerCamelCase:
       def __init__(					self,      lowerCamelCase)       ->   None:




           """simple docstring"""

           _lowercase       :							Node | None      		=		None
           for i in sorted(lowerCamelCase,      reverse=lowerCamelCase):
               _lowercase       :							Tuple      		=		Node(lowerCamelCase,      self.head)
       def __iter__(					self)       ->   Iterator[int]:




           """simple docstring"""

           _lowercase       :							Union[str, Any]      		=		self.head
           while node:
               yield node.data
               _lowercase       :							int      		=		node.next_node
       def __len__(					self)       ->   int:




           """simple docstring"""

           return sum(1 for _ in self)




       def __str__(					self)       ->   str:




           """simple docstring"""

           return " -> ".join([str(lowerCamelCase) for node in self])



def 				UpperCamelCase_(      lowerCamelCase_							, lowerCamelCase_ )    ->						SortedLinkedList:
    return SortedLinkedList(list(lowerCamelCase_ ) + list(lowerCamelCase_ ) )


if __name__ == "__main__":
 import doctest

 doctest.testmod()
 SCREAMING_SNAKE_CASE       :      int												= SortedLinkedList
 print(merge_lists(SSL(test_data_odd), SSL(test_data_even)))


