def serialized(self):
        to_ret = {}
        for group, requirements in self.items():
            to_ret[group] = [str(requirement) for requirement in requirements]
        return to_ret
def __init__(self, key):
        self.key = key
        self.prio = random.randint(0, 1000000000)
        self.size = 1
        self.left = None
        self.right = None