"""Day 9.""" from itertools import permutations with open("input") as f: nums = [int(x) for x in f.read().rstrip().split("\n")] preamble_length = 25 invalid_number = None # Part 1 for idx, val in enumerate(nums[preamble_length:], start=preamble_length): pre = nums[idx - preamble_length: idx] valid = False for combs in permutations(pre, 2): if sum(combs) == val: valid = True if not valid: invalid_number = val print(invalid_number) break # Part 2 found = False for x in range(len(nums)): for y in range(x + 1, len(nums)): subset = nums[x:y] total = sum(subset) if total > invalid_number: break if total == invalid_number: print(min(subset) + max(subset)) found = True break if found: break