




'''simple docstring'''

from __future__ import annotations






class 						a				:


				def __init__(		self    :					int       ,				lowercase_    :					Tuple=None					):
									snake_case_									=				data
									snake_case_									=				None


				def __repr__(		self    :					int					):
									snake_case_									=				[]
									snake_case_									=				self
									while temp:
														string_rep.append(F"{temp.data}"					)
														snake_case_									=				temp.next
									return "->".join(lowercase_					)







def 		__magic_name__    (	__UpperCAmelCase	)		->					str:

					'''simple docstring'''

					if not elements_list:
										raise Exception('''The Elements List is empty'''	)

					snake_case_									=				snake_case_									=				Node(elements_list[0]	)
					for i in range(1,      len(__UpperCAmelCase	)	):
										snake_case_									=				Node(elements_list[i]	)
										snake_case_									=				current.next
					return head


def 		__magic_name__    (	__UpperCAmelCase	)		->					None:

					'''simple docstring'''

					if head_node is not None and isinstance(__UpperCAmelCase,      __UpperCAmelCase	):
										print_reverse(head_node.next	)
										print(head_node.data	)


def 		__magic_name__    (	)		->					Union[str, Any]:

					'''simple docstring'''

					from doctest import testmod

					testmod()

					snake_case_									=				make_linked_list([14, 52, 14, 12, 43]	)
					print('''Linked List:'''	)
					print(__UpperCAmelCase	)
					print('''Elements in Reverse:'''	)
					print_reverse(__UpperCAmelCase	)


if __name__ == "__main__":
							main()







'''simple docstring'''

from collections import defaultdict


def 		__magic_name__    (	__UpperCAmelCase	)		->					int:

					'''simple docstring'''

					snake_case_									=				1
					snake_case_									=				True
					for v in tree[start]:
										if v not in visited:
															ret += dfs(__UpperCAmelCase	)
					if ret % 2 == 0:
										cuts.append(__UpperCAmelCase	)
					return ret


def 		__magic_name__    (	)		->					Union[str, Any]:

					'''simple docstring'''

					dfs(1	)


if __name__ == "__main__":
							a		,a  :				Dict									=  10, 9
							a  :				Dict									=  defaultdict(list)
							a  :				dict[int, bool]									=  {}
							a  :				list[int]									=  []
							a  :				Tuple									=  0
							a  :				str									=  [(2, 1), (3, 1), (4, 3), (5, 2), (6, 1), (7, 2), (8, 6), (9, 8), (10, 8)]
							for u, v in edges:
														tree[u].append(v)
														tree[v].append(u)
							even_tree()
							print(len(cuts) - 1)

