def create_default_groups(self):
        for group in self.groups:
            group = group.replace(" ", "_").lower()
            self[group] = NamedRequirements(group)
def dfs(self,candidates,target,start,reslist):
        length = len(candidates)
        if target == 0: 
            return self.result.append(reslist)