def is_it_possible(e, s, e_to_seps):
    """Checks if it is possible to add an edge due to a separator given the current set of minimal separators.
    :param e (tuple(int)): candidate edge, tuple of ints (u,v) where u<v.
    :param s set(int): separator.
    :param e_to_seps (dictionary): Dictionary from edges to list of separators.
    :return (bool): true if it is possible to add the edge using the minimal separators.
    """

    for u in e:
        num = 0
        seps = set()
        # Count the edges that need to be added and the number of separators that can be involved in their addition
        for w in s:

            if w < u:
                uw = (w, u)
            else:
                uw = (u, w)

            if uw in e_to_seps:
                num += 1
                seps.update(e_to_seps[uw])

        if num > len(seps):
            return False

    return True