def leaders_to_left(iterable):
    """
     Leaders-to-left in the iterable is defined as if an element in the iterable
     is greater than all other elements to it's left side
    :param iterable: It should be of either list or tuple types containing numbers
    :return: list of tuples containing leader element and its index

        Eg: leaders_to_left([8, 3, 6, 10, 24, 3]) gives [(8, 0), (10, 3), (24, 4)]
            Here the elements at the indexes 0, 3, 4 are greater than all the elements to its left.
    """
    if type(iterable) == list or type(iterable) == tuple:
        pass
    else:
        raise TypeError('Iterable should be of either list or tuple')
    for item in iterable:
        if not isinstance(item, int):
            raise ValueError('Only numbers are accepted in the iterable')
    leaders_list = []
    if len(iterable) > 0:
        leaders_list.append((iterable[0], 0))
    for i in range(1, len(iterable)):
        if iterable[i] >= leaders_list[-1][0]:
            leaders_list.append((iterable[i], i))
    return leaders_list
