from output import ints def solve(data): p1 = sum(_p1(line) for line in data.split()) p2 = sum(_p2(line) for line in data.split()) return p1, p2 def _p1(data): a1, a2, b1, b2 = ints(data) return (a1 >= b1 and a2 <= b2) or (b1 >= a1 and b2 <= a2) def _p2(data): a1, a2, b1, b2 = ints(data) return len(set(range(a1, a2 + 1)) & set(range(b1, b2 + 1))) > 0 if __name__ == "__main__": with open("./input/04.txt", "r") as f: inp = f.read().strip() p1, p2 = solve(inp) print(p1) print(p2) assert p1 == 507 assert p2 == 897