def combine_overlapping_ranges(ranges):
    if not ranges:
        return []
    
        ranges.sort(key=lambda x: x[0])
    
    merged_ranges = [ranges[0]]
    
    for current in ranges[1:]:
        previous = merged_ranges[-1]
        
        if current[0] <= previous[1]:
            previous[1] = max(previous[1], current[1])
        else:
            merged_ranges.append(current)
    
    return merged_ranges
examples = [
    [[1, 3], [2, 6], [8, 10], [15, 18]],
    [[1, 4], [4, 5]]
]
for i, ranges in enumerate(examples, start=1):
    result = combine_overlapping_ranges(ranges)
    print(f"Example {i}: Input: {ranges}, Output: {result}")
