input: 
  def is_subtree(T, S):
      """
      Check if one binary tree (S) is a subtree of another binary tree (T).
      >>> T = Node(1)
      >>> T.left = Node(2)
      >>> T.right = Node(3)
      >>> T.left.left = Node(4)
      >>> T.left.right = Node(5)
      >>> S = Node(2)
      >>> S.left = Node(4)
      >>> S.right = Node(5)
      >>> is_subtree(T, S)
      True
      >>> S2 = Node(2)
      >>> S2.left = Node(4)
      >>> S2.right = Node(6)
      >>> is_subtree(T, S2)
      False
      """
      
      if S is None: 
          return True
    
      if T is None: 
          return False
    
      if are_identical(T, S): 
          return True
    
      return is_subtree(T.left, S) or is_subtree(T.right, S) 
    
    
  def are_identical(T, S): 
        
      if T is None and S is None: 
          return True
    
      if T is None or S is None: 
          return False
    
      return (T.data == S.data and are_identical(T.left, S.left) and
          are_identical(T.right, S.right))
  
output:     class Node:
          def __init__(self, data):
              self.data = data
              self.left = None
              self.right = None