
"""simple docstring"""



from collections import defaultdict
def 					lowerCamelCase   (     _snake_case ):
    UpperCAmelCase__	:      int     							=					1
    UpperCAmelCase__	:      Tuple     							=					True
    for v in tree[start]:
        if v not in visited:
            ret += dfs(_snake_case )
    if ret % 2 == 0:
        cuts.append(_snake_case )
    return ret
def 					lowerCamelCase   (     ):
    dfs(1 )


if __name__ == "__main__":
    UpperCamelCase__    ,					UpperCamelCase__          =	10, 9
    UpperCamelCase__          =	defaultdict(list)
    UpperCamelCase__          =	{}
    UpperCamelCase__          =	[]
    UpperCamelCase__          =	0
    UpperCamelCase__          =	[(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)



"""simple docstring"""



from __future__ import annotations

from collections.abc import Iterator





class 				a			:



      def __init__(   self     ,	UpperCamelCase_      ):
          UpperCAmelCase__	:      str     							=					value
          UpperCAmelCase__	:      Node | None     							=					None
          UpperCAmelCase__	:      Node | None     							=					None





class 				a			:



      def __init__(   self     ,	UpperCamelCase_      ):
          UpperCAmelCase__	:      str     							=					tree



      def  __snake_case							(   self     ,	UpperCamelCase_      ):
          if node is None:
              return 0
          return node.value + (
              self.depth_first_search(node.left      ) + self.depth_first_search(node.right      )
          )



      def __iter__(   self      ):
          yield self.depth_first_search(self.tree      )


if __name__ == "__main__":
    import doctest

    doctest.testmod()

