def recursive_binary_search(l: list, target: int, low: int, high: int) -> (int | None):
    mid = (low + ((high - low) // 2))
    if (mid < len(l)):
        if (l[mid] == target):
            return mid
        elif (target > l[mid]):
            return recursive_binary_search(l, target, (mid + 1), high)
        else:
            return recursive_binary_search(l, target, low, (mid - 1))
    return None
def recursive_binary_search(l: list, target: int, low: int, high: int) -> (int | None):
    mid = (low + ((high - low) // 2))
    if (mid < len(l)):
        if (l[mid] == target):
            return mid
        elif (target > l[mid]):
            return recursive_binary_search(l, target, (mid + 1), high)
        else:
            return recursive_binary_search(l, target, low, (mid - 1))
    return None