definsert_interval(intervals,new_interval):answer=[]forinterinintervals:# insert new interval if current interval ends
# on or after new after interval starts
ifnew_intervalandnew_interval[0]<=inter[1]:answer.append(new_interval)new_interval=None# Combine current interval with last interval if required.
ifanswerandinter[0]<=answer[-1][1]:popped=answer.pop()inter=[min(inter[0],popped[0]),max(inter[1],popped[1])]answer.append(inter)ifnew_interval:answer.append(new_interval)returnanswer