import re text: str with open("input.txt") as f: text = f.read() total: int = 0 do_or_not: bool = True for x, y, don_t, do in re.findall("mul\(([0-9]{1,3})\,([0-9]{1,3})\)|(don\'t\(\))|(do\(\))", text): if (do != ""): do_or_not = True elif (don_t != ""): do_or_not = False elif (do_or_not): total += int(x) * int(y) print(total)