def getChange(amount, curr, left): if sum(curr) == amount: return curr elif sum(curr) < amount: for x in left: res = getChange(amount, curr | {x}, left - {x}) if len(res) > 0: return res else: return set() else: return set() print(getChange(26, set(), regis))