有 $N$ 名律师。每名律师都被指控犯有欺诈罪。这 $N$ 名律师试图互相辩护,以确保他们都被判无罪。
律师 $A$ 可以为律师 $B$ 辩护,当且仅当律师 $B$ 信任律师 $A$,且存在 $M$ 对这样的关系 $(A, B)$。注意,如果律师 $B$ 信任律师 $A$,并不意味着律师 $A$ 信任律师 $B$。
每名律师都非常勤奋,因此一名律师可以为任意数量的其他律师辩护。
每名律师都非常有才华,因此任何获得至少一次辩护的人都会被无条件判为无罪。但有一个例外:如果律师 $A$ 为律师 $B$ 辩护,且律师 $B$ 也为律师 $A$ 辩护,这看起来非常可疑,两人都会被判有罪。
请确定是否有可能让所有律师都被判无罪。
输入格式
第一行包含两个整数 $N$ 和 $M$,分别表示律师的数量和信任关系的条数 ($1 \le N, M \le 200\,000$)。
接下来的 $M$ 行描述了信任关系。这 $M$ 行中的第 $i$ 行包含两个不同的整数 $A_i$ 和 $B_i$,表示律师 $B_i$ 信任律师 $A_i$,因此律师 $A_i$ 可以为律师 $B_i$ 辩护。不存在 $i$ 和 $j$ ($1 \le i, j \le M, i \neq j$) 使得 $A_i = B_j$ 且 $A_j = B_i$。
输出格式
如果所有律师都有可能被判无罪,输出 “YES”(不含引号)。否则,输出 “NO”(不含引号)。
样例
样例输入 1
3 3 1 2 2 3 3 1
样例输出 1
YES
样例输入 2
4 6 1 2 1 3 1 4 2 3 2 4 3 4
样例输出 2
NO
样例输入 3
4 4 1 2 2 1 3 4 4 3
样例输出 3
NO