def sum_range(root, low, high):
    """Sums of the node values whose values are within inclusive range
    Args:
        root (BinaryTreeNode): Root node
        low  (int): Low value to use for our inclusive range
        high (int): High value to use for our inclusive range
    Returns:
        int: Sum of nodes whose values fall within range.
             Returns 0 if args passed are invalid
    """
    if root is None or low > high:
        return 0
    # Add only if within given intervals
    operand = root.data if low <= root.data and high >= root.data else 0
    return (operand +
        sum_range(root.lchild, low, high) + sum_range(root.rchild, low, high))