def is_stable_table(proposal_record):
    """ Function checks if a stable table exists.
        Takes in dictionary of lists and iterates over each list.
        Checks each list item is not equal to an empty string and
        each list pair is unique.
        Returns True, if not empty and is unique; otherwise returns False

        Examples Below:

        Stable table:
            Inputs of
                proposal_record =>
                {
                    'A': ['C', 'B'],
                    'B': ['A', 'D'],
                    'C': ['D', 'A'],
                    'D': ['B', 'C']
                }
            Outputs => True

        Unstable table:
            Inputs of
                proposal_record =>
                {
                    'A': ['D', 'D'],
                    'B': ['D', 'A'],
                    'C': ['', ''],
                    'D': ['A', 'A']
                }
            Outputs => False
    """
    proposers = set()
    proposees = set()
    for (proposee, proposer) in proposal_record.values():
        if not proposee or not proposer:
            return False
        if (proposer in proposers) or (proposee in proposees):
            return False

        proposers.add(proposer)
        proposees.add(proposee)

    return True