def binary_search_recursive(lst, key, start=0, end=None):
    """
    Performs binary search with recursion for the given key in iterable.

    Parameters
    ----------
    lst : python iterable in which you want to search key
    key : value you want to search
    start : starting index
    end : ending index

    Returns
    -------
    index (int): key's index if found else -1
    """

    if not end:
        end = len(lst)

    if not (start <= end):
        return -1

    mid = (start+end)//2

    if lst[mid] == key:
        return mid
    elif lst[mid] < key:
        return binary_search_recursive(lst, key, mid + 1, end)
    else:
        return binary_search_recursive(lst, key, start, mid-1)