Code:
from collections import deque, Counter

class Solution:
    def smallestRange(self, nums: List[List[int]]) -> List[int]:

        new = []
        # merge each list and keep track of original list
        for i in range(len(nums)):
            for j in nums[i]:
                new.append((j, i))
        # sort so each sliding window represents a range
        new.sort()
...