1class Solution:2def smallestChair(self, times: List[List[int]], targetFriend: int) -> int:3arrivals = []4departures = []5for ind, (x, y) in enumerate(times):6heappush(arrivals, (x, ind))7heappush(departures, (y, ind))8d = {}9occupied = [0] * len(times)10while True:11if arrivals and departures and arrivals[0][0] < departures[0][0]:12_, ind = heappop(arrivals)13d[ind] = occupied.index(0)14occupied[d[ind]] = 115if ind == targetFriend:16return d[ind]17elif arrivals and departures and arrivals[0][0] >= departures[0][0]:18_, ind = heappop(departures)19occupied[d[ind]] = 0