Block, Stock and Two Smoking Galaxy Notes

아직 제출이 없습니다시간 제한1초메모리 제한512 MB

문제

I decided to start a new fancy project related to cryptocurrency, deep learning, self-driving cars and maybe mobile voice assistance (will decide that later). I already have a team consisting of nn promising software engineers and last thing that has to be done is choosing a techlead among them. 

All engineers except the techlead should be divided into teams consisting of one or two engineers (recently I read first ten pages of the book ``Agile Software Development: Programming in Pairs'' and found the described technique very useful!). For each pair of engineers I know if they can interact with each other effectively.

The choice of techlead and distribution into teams is effective if any two-member team consists of two engineers that can interact effectively, and in any team there is at least one engineer who can interact effectively with the techlead.

I want you to find an appropriate company structure as fast as possible, so that our startup can make an IPO or ICO (not quite sure yet what that means, no time for that now), or determine that it is impossible and the world of success and glory is not for me (at least for today).

입력

The first line of input contains two integers nn and mm (2n10002 \le n \le 1000, 0m10,0000 \le m \le 10\\,000), the number of software engineers and the number of successfully interacting pairs.

Each of the next mm lines contains two integers u_iu\_i, v_iv\_i (1u_i,v_in1 \le u\_i, v\_i \le n, u_iv_iu\_i \ne v\_i), the indices of engineers forming an effectively interacting pair.

I guarantee that all unordered pairs of engineers are different.

출력

Print a single word "No" if it is impossible to create a company structure satisfying my requirements. 

Otherwise, print a word "Yes" in the first line.

In the second line print two integers ll, kk (1ln1 \le l \le n, n12kn1\left\lceil \frac{n-1}{2} \right\rceil \leq k \leq n - 1), the index of the techlead and the number of teams. 

Each of the next kk lines should contain two integers t_1t\_1 and t_2t\_2 defining a team. If the team consists of two members, t_1t\_1 and t_2t\_2 should be indices of the engineers forming it, otherwise t_1t\_1 should be the index of the only engineer in the team and t_2t\_2 should be 1-1.

If there are multiple correct answers, print any of them.