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.

Tutorial

Nộp bài

Đăng nhập để nộp bài.

Giới hạn

Thời gian 1.0s
Bộ nhớ 256MB
Tổng điểm 100.0