Colored Rooks
Contest: Codeforces Round 518 (Div. 2) [Thanks, Mail.Ru!]
Difficulty rating: 1700
Tags: constructive algorithms, graphs

Ivan is a novice painter. He has $$$n$$$ dyes of different colors. He also knows exactly $$$m$$$ pairs of colors which harmonize with each other.

Ivan also enjoy playing chess. He has $$$5000$$$ rooks. He wants to take $$$k$$$ rooks, paint each of them in one of $$$n$$$ colors and then place this $$$k$$$ rooks on a chessboard of size $$$10^{9} \times 10^{9}$$$.

Let's call the set of rooks on the board connected if from any rook we can get to any other rook in this set moving only through cells with rooks from this set. Assume that rooks can jump over other rooks, in other words a rook can go to any cell which shares vertical and to any cell which shares horizontal.

Ivan wants his arrangement of rooks to have following properties:

- For any color there is a rook of this color on a board;
- For any color the set of rooks of this color is connected;
- For any two different colors $$$a$$$ $$$b$$$ union of set of rooks of color $$$a$$$ and set of rooks of color $$$b$$$ is connected if and only if this two colors harmonize with each other.

Please help Ivan find such an arrangement.

Input format:
The first line of input contains $$$2$$$ integers $$$n$$$, $$$m$$$ ($$$1 \le n \le 100$$$, $$$0 \le m \le min(1000, \,\, \frac{n(n-1)}{2})$$$) — number of colors and number of pairs of colors which harmonize with each other.

In next $$$m$$$ lines pairs of colors which harmonize with each other are listed. Colors are numbered from $$$1$$$ to $$$n$$$. It is guaranteed that no pair occurs twice in this list.

Output format:
Print $$$n$$$ blocks, $$$i$$$-th of them describes rooks of $$$i$$$-th color.

In the first line of block print one number $$$a_{i}$$$ ($$$1 \le a_{i} \le 5000$$$) — number of rooks of color $$$i$$$. In each of next $$$a_{i}$$$ lines print two integers $$$x$$$ and $$$y$$$ ($$$1 \le x, \,\, y \le 10^{9}$$$) — coordinates of the next rook.

All rooks must be on different cells.

Total number of rooks must not exceed $$$5000$$$.

It is guaranteed that the solution exists.

Constraints:
Time limit: 1.0 s
Memory limit: 256.0 MB

Note:
Rooks arrangements for all three examples (red is color $$$1$$$, green is color $$$2$$$ and blue is color $$$3$$$).

Example input:
3 2
1 2
2 3

Example output:
2
3 4
1 4
4
1 2
2 2
2 4
5 4
1
5 1

Example input:
3 3
1 2
2 3
3 1

Example output:
1
1 1
1
1 2
1
1 3

Editorial:
Let's put rooks with color $$$i$$$ just on line number $$$i$$$. Then, obviously, for any color the set of rooks of this color would be connected. Let's put rooks on positions $$$(i, \,\, i)$$$ for $$$i$$$ from $$$1$$$ to $$$n$$$. After that for any color there is a rook of this color on a board and for any two different colors $$$a$$$ $$$b$$$ union of set of rooks of color $$$a$$$ and set of rooks of color $$$b$$$ wouldn't be connected. And for final step we can do the following for every pair of harmonizing colors $$$a$$$ $$$b$$$: let $$$j$$$ be index of first column without rooks, put rooks on cells ($$$j, \,\, a$$$) and ($$$j, \,\, b$$$). After that for colors $$$a$$$ $$$b$$$ union of set of rooks of color $$$a$$$ and set of rooks of color $$$b$$$ would become connected and for other pairs the connectedness doesn't change.
Total number of rooks is $$$n + 2 \cdot m$$$.