Chặn Một Tuyến Đường
Bạn được cấp một mạng lưới giao thông gồm $n$ thành phố và $m$ tuyến đường một chiều (mỗi tuyến đường chỉ có thể được đi qua theo một hướng duy nhất). Bạn được phép chặn tối đa một tuyến đường.
Bạn có thể làm cho mạng lưới này không còn bất kỳ vòng lặp nào bằng cách chặn nhiều nhất một tuyến đường không? Một mạng lưới được gọi là không có vòng lặp nếu nó không chứa bất kỳ hành trình khép kín nào (một đường đi không rỗng bắt đầu và kết thúc tại cùng một thành phố).
Dữ liệu vào
Dòng đầu tiên chứa hai số nguyên $n$ và $m$ ($2 ≤ n ≤ 500$, $1 ≤ m ≤ \min(n(n - 1), 100000)$) lần lượt là số lượng thành phố và số lượng tuyến đường.
Tiếp theo là $m$ dòng. Mỗi dòng chứa hai số nguyên $u$ và $v$ thể hiện một tuyến đường một chiều đi từ thành phố $u$ đến thành phố $v$ ($1 ≤ u, v ≤ n$, $u ≠ v$). Mỗi cặp có hướng $(u, v)$ được liệt kê nhiều nhất một lần (có tối đa một tuyến đường một chiều từ $u$ đến $v$).
Kết quả
Nếu có thể làm cho mạng lưới giao thông không còn vòng lặp bằng cách chặn tối đa một tuyến đường, in ra YES. Nếu không thể, in ra NO.
Chấm điểm
Subtask 1 (30 points). $n ≤ 100$; $m ≤ 1000$
Subtask 2 (70 points). $2 ≤ n ≤ 500$; $1 ≤ m ≤ \min(n(n - 1), 100000)$
Ví dụ
Input
3 4
1 2
2 3
3 2
3 1
Output
YES
Ghi chú
Trong ví dụ đầu tiên, bạn có thể chặn tuyến đường từ $3$ đến $2$, và mạng lưới sẽ trở thành không có vòng lặp.
Trong ví dụ thứ hai (nếu có, $5$$6$ ...), bạn phải chặn ít nhất hai tuyến đường (ví dụ, từ $2$ đến $1$ và từ $3$ đến $2$) để làm cho mạng lưới không có vòng lặp.