You have n courses and can take multiple courses simultaneously in each semester, as long as prerequisites are satisfied.
Given prerequisites as pairs [a, b] (course b must come before a), return the minimum number of semesters to complete all courses.
With n = 3 and relations = [[1,3],[2,3]]:
- Courses 1 and 2 have no prereqs. Take both in semester 1.
- Course 3 needs 1 and 2. Take it in semester 2.
- Minimum: 2 semesters.
Return -1 if impossible (cycle exists).
Constraints: .