$N$명의 변호사가 사기 범죄를 저지른 혐의로 기소되었다. $N$명의 변호사들은 서로를 변호하여 무사히 무죄로 처리되도록 하려고 한다.
변호사 $B$가 변호사 $A$를 신뢰할 때만 변호사 $A$가 변호사 $B$를 변호할 수 있고, 이러한 ($A$, $B$)쌍은 $M$개 존재한다.
각각의 변호사들의 실력은 매우 뛰어나기 때문에, 1명 이상의 변호를 받은 사람은 무조건 무죄가 된다.
단, 두 변호사 $A$, $B$에 대해 $A$가 $B$를 변호하고, $B$가 $A$를 변호하는 경우는 매우 수상하기 때문에 둘 모두 유죄가 된다.
각 ($A$, $B$) 쌍에 대해 변호사 $A$가 변호사 $B$를 변호할지 말지를 선택하여 모든 변호사가 무죄가 되도록 할 수 있는지 판단하여라.
Input
첫 줄에 $N$과 $M$이 주어진다. ($1 \le N, M \le 200000$) 두 번째 줄부터 $M$줄에 걸쳐 $i$번째 줄에는 $A_i$, $B_i$가 주어진다. ($1 \le A_i, B_i \le N$, $A_i \neq B_i$)
이는 변호사 $A_i$가 변호사 $B_i$를 변호할 수 있다는 뜻이다. 순서쌍 ($A$, $B$)가 중복하여 나타나는 경우는 없다.
Output
모든 변호사가 1명 이상의 변호를 받고, 서로를 변호하는 변호사 쌍이 없도록 할 수 있는 경우 첫 줄에 YES을 출력한다. 불가능한 경우 첫 줄에 NO를 출력한다.
Examples
Input 1
3 3 1 2 2 3 3 1
Output 1
YES
Input 2
4 6 1 2 1 3 1 4 2 3 2 4 3 4
Output 2
NO
Input 3
4 4 1 2 2 1 3 4 4 3
Output 3
NO