


from __future__ import annotations

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

__UpperCamelCase    		=       (3, 9, -1_1, 0, 7, 5, 1, -1)
__UpperCamelCase    		=       (4, 6, 2, 0, 8, 1_0, 3, -2)







@dataclass
class        lowerCamelCase__	:






			"""simple docstring"""






			_UpperCamelCase		:					int
			_UpperCamelCase		:					Node | None







class        lowerCamelCase__	:






			"""simple docstring"""






			def __init__(							self      ,						snake_case     ):

						'''simple docstring'''


						UpperCamelCase__					=       None
						for i in sorted(snake_case      ,						reverse=snake_case     ):
									UpperCamelCase__					=       Node(snake_case      ,						self.head     )




			def __iter__(							self     ):

						'''simple docstring'''


						UpperCamelCase__					=       self.head
						while node:
									yield node.data
									UpperCamelCase__					=       node.next_node




			def __len__(							self     ):

						'''simple docstring'''


						return sum(1 for _ in self     )







			def __str__(							self     ):

						'''simple docstring'''


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



def        UpperCamelCase_(				_A   :str				,     _A   :List[str]  )->		SortedLinkedList:
			return SortedLinkedList(list(__UpperCAmelCase  ) + list(__UpperCAmelCase  )  )


if __name__ == "__main__":
						import doctest

						doctest.testmod()
						__UpperCamelCase    		=       SortedLinkedList
						print(merge_lists(SSL(test_data_odd), SSL(test_data_even)))






from abc import ABC, abstractmethod
from argparse import ArgumentParser







class        lowerCamelCase__	(							UpperCAmelCase      ):






			"""simple docstring"""






			@staticmethod
			@abstractmethod
			def 				snake_case__				(							snake_case     ):

						'''simple docstring'''


						raise NotImplementedError()







			@abstractmethod
			def 				snake_case__				(							self     ):

						'''simple docstring'''


						raise NotImplementedError()


