CSES - Course Schedule | Sắp xếp khóa học

View as PDF

Points: 1300 (p) Time limit: 1.0s Memory limit: 512M Input: stdin Output: stdout

Bạn phải hoàn thành \(n\) khóa học. Có \(m\) yêu cầu thuộc dạng "khóa học \(a\) phải được hoàn thành trước khóa học \(b\)". Nhiệm vụ của bạn là tìm một thứ tự mà bạn có thể hoàn thành các khóa học.

Input

  • Dòng đầu vào đầu tiên có hai số nguyên \(n\)\(m\): số lượng khóa học và yêu cầu. Các khóa học được đánh số \(1, 2, \ldots, n\).
  • Sau này, có \(m\) dòng mô tả các yêu cầu. Mỗi dòng có hai số nguyên \(a\)\(b\): khóa học \(a\) phải được hoàn thành trước khóa học \(b\).

Output

  • In một thứ tự mà bạn có thể hoàn thành các khóa học. Bạn có thể in bất kỳ thứ tự hợp lệ nào mà chứa tất cả các khóa học.
  • Nếu không có lời giải nào, in IMPOSSIBLE.

Constraints

  • \(1 \le n \le 10^5\)
  • \(1 \le m \le 2 \cdot 10^5\)
  • \(1 \le a,b \le n\)

Example

Test 1

Input
5 3
1 2
3 1
4 5
Output
3 4 1 5 2

Comments

There are no comments at the moment.