Popo 是 bobo 的一位傻朋友,他正在学习猴子排序(bogo sort)。他立刻发明了自己的版本,如下面的代码所示:
function sort(s) success := False for i := 1, 2, ..., m do if s[a[i]] > s[b[i]] then swap s[a[i]] and s[b[i]] success := True end end if success then return sort(s) else return s end end
请判断 Popo 的版本是否正确(即能否将所有长度为 $n$ 的序列排序为非递减顺序)。
输入格式
第一行包含两个整数 $n, m$ ($1 \le n \le 1000000, 0 \le m \le 1000000$)。 接下来 $m$ 行,每行包含两个整数 $a_i, b_i$ ($1 \le a_i, b_i \le n$)。
输出格式
如果该版本正确,输出 “Yes”,否则输出 “No”。
样例
样例输入 1
3 2 1 2 2 3
样例输出 1
Yes
样例输入 2
2 2 1 2 2 1
样例输出 2
No