You have n courses labeled 1 to n and an array relations where relations[i] = [prevCourse, nextCourse] means prevCourse must be taken before nextCourse.
In one semester you can take any number of courses as long as all prerequisites are done. Return the minimum number of semesters to finish all courses, or -1 if impossible.
Example 1:
Input: n = 3, relations = [[1,3],[2,3]] Output: 2
Example 2:
Input: n = 3, relations = [[1,2],[2,3],[3,1]] Output: -1 (cycle)
Constraints:
- 1 <= n <= 5000
- 0 <= relations.length <= 5000