There are numCourses courses labelled 0 to numCourses - 1. Each prerequisites[i] = [a, b] means you must take course b before course a.
Return an ordering of courses you can take to finish them all. If that is impossible, return an empty array.
Tie-break rule: when several courses are available at the same time, always take the lowest-numbered one first. This makes the valid answer unique.