input: 
  def is_subtree(tree: Node, subtree: Node) -> bool:
      """
      Check if the binary tree 'subtree' is a subtree of the binary tree 'tree'.
      
      >>> is_subtree(Node(2, Node(1), Node(3)), Node(2, Node(1), Node(3)))
      True
      >>> is_subtree(Node(2, Node(1), Node(3)), Node(2, None, Node(3)))
      False
      >>> is_subtree(Node(5, Node(1), Node(4, Node(3), Node(6))), Node(4, Node(3), Node(6)))
      True
      """
  
output:     
      def equals(t1: Node, t2: Node) -> bool:
          if not t1 and not t2:
              return True
          if not t1 or not t2:
              return False
          return t1.val == t2.val and equals(t1.left, t2.left) and equals(t1.right, t2.right)
  
      def traverse(t: Node, s: Node) -> bool:
          if not t:
              return False
          return equals(t, s) or traverse(t.left, s) or traverse(t.right, s)
  
      return traverse(tree, subtree)
  