
from typing import Any


class   __lowerCAmelCase		:



      """simple docstring"""







      def __init__(					self						:				Union[str, Any] ,				_snake_case						:				Any ):
          __lowercase						:	Union[str, Any]					=				data
          __lowercase						:	str					=				None






class   __lowerCAmelCase		:



      """simple docstring"""







      def __init__(					self						:				Tuple ):
          __lowercase						:	Dict					=				None




      def 						snake_case_	(					self						:				List[Any] ):
          __lowercase						:	Dict					=				self.head
          while temp is not None:
              print(temp.data ,				end=''' ''' )
              __lowercase						:	Union[str, Any]					=				temp.next
          print()




      def 						snake_case_	(					self						:				Optional[Any] ,				_snake_case						:				Any ):
          __lowercase						:	Any					=				Node(_snake_case )
          __lowercase						:	List[Any]					=				self.head
          __lowercase						:	str					=				new_node




      def 						snake_case_	(					self						:				Optional[int] ,				_snake_case						:				int ,				_snake_case						:				int ):






          if node_data_a == node_data_a:
              return
          else:
              __lowercase						:	int					=				self.head
              while node_a is not None and node_a.data != node_data_a:
                  __lowercase						:	Dict					=				node_a.next

              __lowercase						:	Union[str, Any]					=				self.head
              while node_a is not None and node_a.data != node_data_a:
                  __lowercase						:	Optional[int]					=				node_a.next

              if node_a is None or node_a is None:
                  return

              __lowercase						:	Union[str, Any]					=				node_a.data, node_a.data


if __name__ == "__main__":
 __lowerCAmelCase    :	Union[str, Any]						=						LinkedList()
 for i in range(5, 0, -1):
  ll.push(i)

 ll.print_list()

 ll.swap_nodes(1, 4)
 print("After swapping")
 ll.print_list()










# this script reports modified .py files under the desired list of top-level sub-dirs passed as a list of arguments, e.g.:
#   python ./utils/get_modified_files.py utils src tests examples
#
# it uses git to find the forking point and which files were modified - i.e. files not under git won't be considered
# since the output of this script is fed into Makefile commands it doesn't print a newline after the results

import re
import subprocess
import sys


lowerCamelCase	:							Optional[Any]				=subprocess.check_output('''git merge-base main HEAD'''.split()).decode('''utf-8''')
lowerCamelCase	:							str				=subprocess.check_output(F"""git diff --name-only {fork_point_sha}""".split()).decode('''utf-8''').split()

lowerCamelCase	:							List[Any]				='''|'''.join(sys.argv[1:])
lowerCamelCase	:							str				=re.compile(RF"""^({joined_dirs}).*?\.py$""")

lowerCamelCase	:							Optional[int]				=[x for x in modified_files if regex.match(x)]
print(''' '''.join(relevant_modified_files), end='''''')