#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import re

def mul(m:str) -> int:
    pattern = r"(\d+),(\d+)"
    match = re.search(pattern, m)
    return int(match.group(1)) * int(match.group(2))

def parse_mul(l:str) -> int:
    result = 0
    mult = True
    pattern = r'mul\(\d+,\d+\)|do\(\)|don\'t\(\)'
    matches = re.findall(pattern, l)
    print(matches)
    for match in matches:
        if match == "don't()":
            mult = False
        elif match == "do()":
            mult = True
        elif mult and "mul(" in match:
            result += mul(match)
    return result

if __name__ == "__main__":
    full_input = ""
    input_file = open("input.txt", "r")
    for line in input_file:
        full_input += line
    input_file.close()

    print(f'Solution:{parse_mul(full_input)}')