from functools import reduce


def count_candidates (range):
    """ Counts the number of IP addresses that would result from enumeration of a list struture produced by `expand_ip`.
    Args:
        range (list of list of int): The enumerable list structure
    Return:
        int: The number of distinct IP addresses
    """
    # Multiply together list lengths.
    return reduce(lambda x, y: x * y, [len(r) for r in range], 1)