def addon(lists, togo, target, size):
    """Extends each of the lists by a single integer, with the aim of creating 
    lists whose members sum to the target value.
    
    Each list contains non-decreasing elements, so the added number must be at 
    least as large as the final element of the input list.
    The size value determines the largest value that may be added to a list, 
    and the togo value indicates how many more elements will be added to the 
    input lists.
    
    Args:
        lists (list): contains elements which are lists of integers in the 
                      range 1 - 9. All members are of equal length.
        togo (int): how many more elements will be added after this.
        target (int): the number to which the elements of each list 
                      will sum when completed.
        size (int): the largest integer allowed in a list.
        
    Returns:
        (list): the list of lists.
    """
    return [s + [i] for s in lists for i in range(s[-1],size+1) if (sum(s) + (togo + 1)*i) <= target if (i + sum(s) + togo*size) >= target]