def save(self):
        tmp_path = self.path + '.tmp'
        with open(tmp_path, 'w') as f:
            f.write(json.dumps(self.body_labels.items()))
        os.rename(tmp_path, self.path)
def combinationSum(self, candidates, target):
        candidates.sort()
        self.result = []
        self.dfs(candidates,target,0,[])
        return self.result