





# This is the module that test_patching.py uses to test patch_submodule()

import os  # noqa: this is just for tests
import os as renamed_os  # noqa: this is just for tests
from os import path  # noqa: this is just for tests
from os import path as renamed_path  # noqa: this is just for tests
from os.path import join  # noqa: this is just for tests
from os.path import join as renamed_join  # noqa: this is just for tests


_UpperCAmelCase       : str			     =       open  # noqa: we just need to have a builtin inside this module to test it properly












from __future__ import annotations

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

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

@dataclass
class      lowerCAmelCase							:
 UpperCAmelCase__									=	42
 UpperCAmelCase__									=	42


class      lowerCAmelCase							:
 def __init__(   self						:   Any    ,  UpperCAmelCase						:   Iterable[int]			)    ->			None:
     lowerCamelCase__					:   Node | None      				=	None
     for i in sorted(UpperCAmelCase    ,  reverse=UpperCAmelCase			):
         lowerCamelCase__					:   Tuple      				=	Node(UpperCAmelCase    ,  self.head			)
 def __iter__(   self						:   Optional[int]			)    ->			Iterator[int]:
     lowerCamelCase__					:   str      				=	self.head
     while node:
         yield node.data
         lowerCamelCase__					:   List[str]      				=	node.next_node
 def __len__(   self						:   List[str]			)    ->			int:
     return sum(1 for _ in self			)







 def __str__(   self						:   Any			)    ->			str:
     return " -> ".join([str(UpperCAmelCase			) for node in self]			)


def  SCREAMING_SNAKE_CASE   ( _UpperCAmelCase		,			_UpperCAmelCase				)    ->  SortedLinkedList:
    return SortedLinkedList(list(_UpperCAmelCase				) + list(_UpperCAmelCase				)				)


if __name__ == "__main__":
    import doctest

    doctest.testmod()
    _UpperCAmelCase       : Optional[Any]			     =       SortedLinkedList
    print(merge_lists(SSL(test_data_odd), SSL(test_data_even)))





