#!/usr/bin/env python3 lines = (x.strip() for x in open("input.txt")) cnt = 0 OPEN, CLOSE, PENALTY = "([{<", ")]}>", [3, 57, 1197, 25137] MAP_CLOSE, MAP_PENALTY = dict(zip(OPEN, CLOSE)), dict(zip(CLOSE, PENALTY)) for line in lines: stack = [] for char in line: if char in OPEN: stack.append(char) elif MAP_CLOSE[stack.pop()] != char: cnt += MAP_PENALTY[char] break print(cnt)