import json import sys from typing import TypeAlias JsonObject: TypeAlias = dict[str, "JsonObject"] | list["JsonObject"] | int | str def json_sum(value: JsonObject, ignore: str | None = None) -> int: if isinstance(value, str): return 0 elif isinstance(value, int): return value elif isinstance(value, list): return sum(json_sum(v, ignore=ignore) for v in value) elif ignore not in value.values(): return sum(json_sum(v, ignore=ignore) for v in value.values()) else: return 0 data: JsonObject = json.load(sys.stdin) answer_1 = json_sum(data) print(f"answer 1 is {answer_1}") answer_2 = json_sum(data, "red") print(f"answer 2 is {answer_2}")