def find_max(root):
    """Finds node with maximum value in the tree
    Args:
        root(BinaryTreeNode): Root node
    Returns:
        BinaryTreeNode: contains maximum value data
    """
    if (root is None) or (root.rchild is None):
        return root
    return find_max(root.rchild)