""" day_06_01.py """

# usage: python3 day_06_01.py

from math import prod


def get(filename):
    """ contents of filename """
    with open(filename, 'r', encoding='utf-8') as infile:
        data = infile.read()

    return data


def test(data, given_solution):
    """ testing """
    assert solve(data) == given_solution


def solve(data):
    """ solve the puzzle """
    worksheet = {(r, c): col for r, row in enumerate(data.splitlines())
                 for c, col in enumerate(row.split())}
    worksheet = {(c, r): col for (r, c), col in worksheet.items()}

    problems = max(worksheet.keys())[0] + 1
    numbers = max(worksheet.keys(), key=lambda x: x[1])[1]

    answers = []
    for p in range(problems):
        args = [int(worksheet[(p, n)]) for n in range(numbers)]
        if worksheet[(p, numbers)] == '+':
            answers.append(sum(args))
        else:
            answers.append(prod(args))

    return sum(answers)


if __name__ == '__main__':
    test(get('example01'), 4277556)

    puzzle = get('input')
    solution = solve(puzzle)

    print(solution)
