#!/usr/bin/python3

import sys

filename="p1_71.txt"
if len(sys.argv) > 1:
    filename=sys.argv[1]

def parse_sum(oursum):
    parts = oursum.split()
    new_parts=[]
    for part in parts:
        if part[0]=="(":
            for index,c in enumerate(part):
                if c=="(":
                    new_parts.append("(")
                else:
                    new_parts.append(part[index:])
                    break
        elif part[-1]==")":
            got_number=False
            for index,c in enumerate(part):
                if c==")":
                    if not got_number:
                        new_parts.append(part[0:index])
                        got_number=True
                    new_parts.append(c)
        else:
            new_parts.append(part)
    return new_parts

def do_sum(parts):
    cur_total=0
    next_oper="+"
    bracketed=[]
    in_brackets=0
    for part in parts:
        if in_brackets > 0 and part != ")" and part != "(":
            bracketed.append(part)
            continue
        if in_brackets > 0 and part == ")":
            in_brackets-=1
            bracketed.append(part)
            if in_brackets == 0:
                part=do_sum(bracketed[1:-1])
                bracketed.clear()
            else:
                continue
        if part == "+":
            next_oper="+"
        elif part == "*":
            next_oper="*"
        elif part == "(":
            in_brackets+=1
            bracketed.append(part)
        else:
            part=int(part)
            if next_oper == "+":
                cur_total+=part
            else:
                cur_total*=part
    return cur_total

total=0
for line in [line.rstrip() for line in open(filename, "r")]:
    answer=do_sum(parse_sum(line))
    total+=answer

print("Part 1 Total:", total)
