input: Write a function to calculate the sum of all elements in a given binary tree. If the input tree is empty, return 0.
  def sum_tree(root):
      if root is None:
          return 0
      return root.val + sum_tree(root.left) + sum_tree(root.right)
      
  assert sum_tree(None) == 0
  assert sum_tree(Node(5, Node(3, Node(2), Node(4)), Node(7, Node(6), Node(8)))) == 35
  assert sum_tree(Node(1, None, Node(2, None, Node(3)))) == 6
  assert sum_tree(Node(10, Node(5), Node(15, Node(12), Node(18)))) == 60
output: def sum_tree(root):
      if root is None:
          return 0
      return root.val + sum_tree(root.left) + sum_tree(root.right)