#!/usr/bin/env python from itertools import combinations with open('day17.txt') as data: containers = list(map(int, (line.strip() for line in data))) # part 1 count = 0 for i in range(2, len(containers)+1): for combo in combinations(containers, i): if sum(combo) == 150: count += 1 print(count) # part 2 count = 0 for i in range(2, len(containers)+1): min_count = False for combo in combinations(containers, i): if sum(combo) == 150: min_count = True count += 1 if min_count: break print(count)