input: def is_subtree(T: Node, S: Node) -> bool:
      """ Checks if the binary tree S is a subtree of the binary tree T.
      >>> T = Node(26)
      >>> T.left = Node(10)
      >>> T.right = Node(3)
      >>> T.left.left = Node(4)
      >>> T.left.right = Node(6)
      >>> T.right.right = Node(3)
      >>> T.left.left.right = Node(30)
      >>> S = Node(10)
      >>> S.left = Node(4)
      >>> S.right = Node(6)
      >>> S.left.right = Node(30)
      >>> is_subtree(T, S)
      True
      >>> S = Node(10)
      >>> S.left = Node(4)
      >>> S.right = Node(6)
      >>> is_subtree(T, S)
      False
      """
output:     if not T and not S:
          return True
      if not T or not S:
          return False
      if T.value == S.value and is_identical(T, S):
          return True
      return is_subtree(T.left, S) or is_subtree(T.right, S)
  
  def is_identical(root1: Node, root2: Node) -> bool:
      if not root1 and not root2:
          return True
      if not root1 or not root2:
          return False
      return (root1.value == root2.value and
              is_identical(root1.left, root2.left) and
              is_identical(root1.right, root2.right))