




"""simple docstring"""






class lowerCAmelCase__	:  # Public class to implement a graph






			'''simple docstring'''



			def __init__(  self  ,      lowercase  ,      lowercase  ,      lowercase  ):
							_lowerCamelCase     :			int    =    row
							_lowerCamelCase     :			Optional[Any]    =    col
							_lowerCamelCase     :			Union[str, Any]    =    graph
			def 					A_    (  self  ,      lowercase  ,      lowercase  ,      lowercase  ):
							return (
							    0 <= i < self.ROW
							    and 0 <= j < self.COL
							    and not visited[i][j]
							    and self.graph[i][j]
							)
			def 					A_    (  self  ,      lowercase  ,      lowercase  ,      lowercase  ):
							_lowerCamelCase     :			str    =    [-1, -1, -1, 0, 0, 1, 1, 1]  # Coordinate order
							_lowerCamelCase     :			Tuple    =    [-1, 0, 1, -1, 1, -1, 0, 1]
							_lowerCamelCase     :			List[Any]    =    True  # Make those cells visited
							for k in range(8  ):
											if self.is_safe(i + row_nbr[k]  ,      j + col_nbr[k]  ,      __lowerCamelCase  ):
															self.diffs(i + row_nbr[k]  ,      j + col_nbr[k]  ,      __lowerCamelCase  )






			def 					A_    (  self  ):  # And finally, count all islands.
							_lowerCamelCase     :			List[Any]    =    [[False for j in range(self.COL  )] for i in range(self.ROW  )]
							_lowerCamelCase     :			Optional[Any]    =    0
							for i in range(self.ROW  ):
											for j in range(self.COL  ):
															if visited[i][j] is False and self.graph[i][j] == 1:
																			self.diffs(__lowerCamelCase  ,      __lowerCamelCase  ,      __lowerCamelCase  )
																			count += 1
							return count



from collections import defaultdict

def       lowercase_		(		_A			:    int						):

      """simple docstring"""




      lowerCamelCase__		:				Union[str, Any]    =  1
      lowerCamelCase__		:				Dict    =  True
      for v in tree[start]:
            if v not in visited:
                  ret += dfs(_A						)
      if ret % 2 == 0:
            cuts.append(_A						)
      return ret

def       lowercase_		(		):

      """simple docstring"""




      dfs(1						)


if __name__ == "__main__":
    A,  A      :    Tuple		=					10, 9
    A      :    int		=					defaultdict(list)
    A      :    dict[int, bool]		=					{}
    A      :    list[int]		=					[]
    A      :    List[str]		=					0
    A      :    Tuple		=					[(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)


