Lộ trình môn học

Khó

đồ thịsắp xếp topo6 test · 3 giây

Có n môn học và m điều kiện dạng a b: phải học xong môn b trước khi học môn a. Có thể học hết tất cả các môn không? (Không được nếu các điều kiện tạo thành vòng lặp.)

  • Sắp xếp topo (thuật toán Kahn): liên tục lấy môn không còn điều kiện nào; nếu lấy được đủ n môn → YES.

Dữ liệu vào

Dòng 1: n m (1 ≤ n ≤ 2·10⁵, 0 ≤ m ≤ 2·10⁵).

m dòng: a b (a ≠ b).

Dữ liệu ra

YES hoặc NO.

Ví dụ

Input

4 3
2 1
3 2
4 2

Output

YES

Input

2 2
1 2
2 1

Output

NO

Bài tiếp theo: Đường đi ngắn nhất (Dijkstra) →

Input (stdin)

Output

Bấm “Chạy thử” để xem kết quả với input bên trái.