#!/usr/bin/env python from common import condense_page_orders, get_middle_page, parse, update_is_correct def solve(input: tuple[list[tuple[int, int]], list[tuple[int, ...]]]) -> int: raw_page_orders, updates = input not_before, not_after = condense_page_orders(raw_page_orders) middle_pages = map(get_middle_page, filter(lambda u: update_is_correct(u, not_before, not_after), updates)) return sum(middle_pages) def main(): print(solve(parse("input"))) if __name__ == "__main__": main()