input: 
  def isSubTree(T, S):
      """ Check if the binary tree S is a subtree of the binary tree T.
      >>> root1 = Node(26)
      >>> root1.right = Node(3)
      >>> root1.right.right = Node(3)
      >>> root1.left = Node(10)
      >>> root1.left.left = Node(4)
      >>> root1.left.left.right = Node(30)
      >>> root1.left.right = Node(6)
  
      >>> root2 = Node(10)
      >>> root2.right = Node(6)
      >>> root2.left = Node(4)
      >>> root2.left.right = Node(30)
  
      >>> isSubTree(root1, root2)
      True
      """
      
      if S is None: 
          return True
    
      if T is None: 
          return False
    
      if areIdentical(T, S): 
          return True
    
      return isSubTree(T.left, S) or isSubTree(T.right, S) 
    
    
  def areIdentical(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 areIdentical(T.left, S.left)and
          areIdentical(T.right, S.right))
  
output:     if S is None: 
          return True
    
      if T is None: 
          return False
    
      if areIdentical(T, S): 
          return True
    
      return isSubTree(T.left, S) or isSubTree(T.right, S) 
    
    
  def areIdentical(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 areIdentical(T.left, S.left)and
          areIdentical(T.right, S.right))