I haven’t timed it, but easily below a second.
Could that be optimised? Most certainly.
Due to the ranges being in a set, rather than a list, the input order doesn’t matter anyway. And the set really does a lot of heavy lifting for making the code so concise. You’ll need a bunch of boilerplate for list maintenance, especially of you continuously keep it sorted.
The set also removed 8 duplicates I had in the input.
































Duh, it’s called strong language for a reason.