#!/bin/python3 import sys import re id_sum = 0 for line in sys.stdin: line = line.strip() game_id, sets = line.split(":") game_id = int(re.sub("[^0-9]", "", game_id)) sets = [x.strip() for x in sets.split(";")] possible = True for set in sets: cubes = [x.strip() for x in set.split(",")] cubes = [{"color": x.split()[1], "count": int(x.split()[0])} for x in cubes] map = { "red": 0, "green": 0, "blue": 0, } for cube in cubes: map[cube["color"]] = cube["count"] if map["red"] > 12 or map["green"] > 13 or map["blue"] > 14: possible = False break if not possible: continue id_sum += game_id print(f">> {id_sum}")