input: Write a function to check if one binary tree is a subtree of another binary tree. If it is, return True, otherwise return False. If either of the trees is empty, return False.
  def isSubTree(T, S):
      
      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))
  
  assert isSubTree(Node(10), Node(20)) == False
  assert isSubTree(Node(10), None) == False
  assert isSubTree(None, Node(10)) == False
  assert isSubTree(Node(10), Node(10)) == True
  assert isSubTree(Node(10, left=Node(5)), Node(5)) == True
output: def isSubTree(T, S):
      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))