import bisect count = 0 intervals = [] with open("input.txt" , "r") as file: for line in file: line = line.strip() if line == "": break start, end = map(int, line.split("-")) intervals.append((start, end)) intervals.sort(key = lambda x: x[0]) merged = [intervals[0]] for current_start, current_end in intervals[1:]: last_start, last_end = merged[-1] if current_start <= last_end: merged[-1] = (last_start, max(last_end, current_end)) else: merged.append((current_start, current_end)) for interval in merged: count += interval[1] - interval[0] + 1 print(count)