""" day3 """ import re import fileinput def match_all(pending): active = True result = 0 while pending: instr = re.search(r'(do|don\'t|mul)\(([0-9,]*)\)', pending) if not instr: break pending = pending[instr.span()[1]:] op=instr[1] args=instr[2].split(',') print(f'active={active} op={op} args={args}') if op == 'do': active = True elif op == 'don\'t': active = False elif active and op == 'mul': if len(args) == 2 and 1 <= len(args[0]) <= 3 and 1 <= len(args[1]) <= 3: result += int(args[0]) * int(args[1]) return result input = '' for line in fileinput.input(): input += line print(match_all(input))