code: def lca(root, p, q):
      """
      :type root: TreeNode
      :type p: TreeNode
      :type q: TreeNode
      :rtype: TreeNode
      """
      if root is None or root is p or root is q:
          return root
      left = lca(root.left, p, q)
      right = lca(root.right, p, q)
      if left is not None and right is not None:
          return root
      return left if left else right
  
label_desc: Use image node_id 1 for calling a global function with example usage: lca(root, p, q) and returns: unknown, root, root