On the occasion of Christmas, Kuroni and ~n~ friends play a version of the game Secret Santa with Kuroni as the organizer. The game will take place over ~d~ days (with ~d~ chosen by Kuroni); the progress of each day is as follows:
First, Kuroni selects ~k~ different friends ~u_1, u_2, \dots, u_k~, and proposes a positive real value ~w~. Note that ~k~, ~w~, and ~u_1, u_2, \dots, u_k~ may have different values for each day.
Then, each selected friend will buy a gift worth exactly ~w~.
Finally, the friends give the gifts they bought in a circle: ~u_1~ gives their gift to ~u_2~, ~u_2~ gives their gift to ~u_3~, ..., ~u_k~ gives their gift to ~u_1~.
To bring his ~n~ friends closer together, Kuroni has prepared a list of ~m~ pairs ~(u, v)~, with the idea that when this game ends, friend ~u~ must send at least one gift to friend ~v~; in addition, for pairs ~(x, y)~ not in his list, friend ~x~ is not allowed to send a gift to friend ~y~ (because that would make friend ~y~ misunderstand the intention of friend ~x~).
Of course, Kuroni also does not want any inappropriate feelings to arise among his ~n~ friends, so he wants that when the game ends, for every friend ~u~, the total values of gifts ~u~ had received from friends who had gifted ~u~ are the same. In other words, if ~v~ and ~t~ are two friends who had gifted ~u~, then the total value of gifts that ~v~ gave to ~u~ must be equal to the total value of gifts that ~t~ gave to ~u~ (otherwise, ~u~ will favor the friend who gave more gifts).
Kuroni has been racking his brain but has not yet found a way to arrange the game to achieve his wish. Can you help him?
Input
The first line contains two positive integers ~n~ and ~m~ (~1 \le n, m \le 200~) — the number of Kuroni's friends and the number of pairs in Kuroni's list.
The ~i~-th of the next ~m~ lines contains two positive integers ~u_i~ and ~v_i~ (~1 \le u_i, v_i \le n~) — representing the ~i~-th pair in Kuroni's list.
The input is guaranteed that there are no pairs that appear multiple times in the list, nor any pair that connects a friend to themself.
Output
On the first line, print "YES" (without quotes) if there exists a way to arrange the game to achieve Kuroni's wish; otherwise, print "NO" (without quotes).
If the first line is "YES", you need to print the number ~d~ no more than ~500~ of days that everyone will play on the second line. It can be proved that under the limit of this problem, if there exists a valid arrangement, there also exists an arrangement to play the game in no more than ~500~ days.
Next, you need to print ~d~ lines, with the ~i~-th line representing the ~i~-th day of the game. On each line:
First, print a positive real not exceeding ~10^{15}~ ~w~ as the value for the gifts proposed on this day. It can be proved that under the limit of this problem, if there exists a valid arrangement, there also exists an arrangement such that the value of the gift on each day does not exceed ~10^{15}~.
Next, print an integer ~k~ as the number of friends selected to play on the ~i~-th day.
Finally, print ~k~ distinct positive integers ~u_1, u_2, \dots, u_k~ representing the selected friends (~1 \le u_j \le n~ for all ~1 \le j \le k~).
The values above should be printed on the same line, separated by spaces.
Define ~f(u \to v)~ as the total value of gifts that friend ~u~ has sent to friend ~v~ throughout the game. The judge will recognize that the arrangement of the game is valid if for every friend ~u~ and every two friends ~v~ and ~t~ who gave gifts to ~u~, the relative error between the total value of gifts that ~v~ gave to ~u~ and the total value of gifts that ~t~ gave to ~u~ does not exceed ~10^{-6}~; in other words, if ~x = f(v \to u)~ and ~y = f(t \to u)~, then ~\frac{|x - y|}{\min(x, y)} \le 10^{-6}~
The test data is generated such that if there exists a valid game arrangement, then there also exists an arrangement where for any two pairs ~(u, v)~ and ~(x, y)~ in the list, the ratio between ~f(u \to v)~ and ~f(x \to y)~ does not exceed ~10^{10}~. However, your output does not have to satisfy this condition.
Scoring
Assume that Kuroni's list corresponds to a directed graph ~G~ with ~n~ vertices and ~m~ edges, where each pair ~(u, v)~ corresponds to a directed edge ~u \to v~ in ~G~. Then:
Subtask | Score | Constraints |
---|---|---|
1 | 1000 | Each edge ~u \to v~ in ~G~ belongs to at most ~1~ simple cycle of ~G~ |
2 | 1000 | Each edge ~u \to v~ in ~G~ satisfies ~u \lt v~, except for the edge ~n \to 1~ |
3 | 1500 | No additional constraints |
Total | 3500 |
Sample Input 1
5 7
1 2
2 3
3 1
2 4
3 5
4 5
5 2
Sample Output 1
YES
3
1.0 3 1 2 3
0.5 3 2 3 5
0.5 3 2 4 5
Sample Input 2
3 4
1 2
2 1
1 3
2 3
Sample Output 2
NO
Sample Input 3
6 6
1 2
2 3
3 1
4 5
5 6
6 4
Sample Output 3
YES
2
0.3 3 1 2 3
0.6 3 5 6 4
Notes
In the first example, the following figures illustrate the initial graph ~G~, the game arrangement, and the total gift value that the friends gave to each other; the three days of playing are represented by three different colors.
The initial graph ~G~, the game arrangement, and the total gift value that the friends gave to each other.
Similarly, we have three figures below for the third example.
The initial graph ~G~, the game arrangement, and the total gift value that the friends gave to each other.
Comments