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

Xem PDF

Điểm: 1300 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

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

Bình luận