def equal_range(start, stop, n_step):
    """Get n_step equal ranges between start and stop
    Args:
        start (int): start of intervals
        stop (int): end of intervals
        n_step (int): number of intervals
    Yields:
        range: series of integer numbers, which we can iterate using a for loop
    """
    if n_step >= stop - start:
        for i in range(start, stop):
            yield range(i, i+1)
        return range(start, stop)
    step_size = (stop-start)//n_step
    remainder = (stop-start) - step_size*n_step
    cur_start = 0
    for i in range(n_step):
        cur_stop = cur_start + int(i < remainder) + step_size
        yield range(cur_start, cur_stop)
        cur_start = cur_stop
    return None