Miner
Agent Johnny English went to intelligence school. Once, as a task, he was asked to mine some cities in order to blow up the whole country.
A country consists of n cities connected by two-way roads. From any city you can get to any other using roads.
If the bomb explodes in the city a, then this city will be destroyed. Cities that are connected by a road to a can also be destroyed. Johnny can choose which cities will be destroyed. Note that at least one city connected by a road to a must be destroyed. Each city must be destroyed exactly once.
You need to help Johnny and determine if it is possible to destroy the country. If possible, it is necessary for each bomb to assign the cities that will be destroyed by it. It is not required to minimize the number of bombs.
Input
The first line contains two integers n and m (1 ≤ n, m ≤ 10^5
) - the number of cities and roads. The following m lines describe the roads. Each of them contains two integers a and b, which indicate that the cities a and b (1 ≤ a, ** b** ≤ n, a ≠ b) are connected by a road. It is guaranteed that there is at most one road between each pair of cities.
Output
In the first line print -1 if there is no solution. Otherwise, print a single integer k - the number of cities to be mined. On the following lines print a description of each bomb in the following format:
In the first line print a single integer t (2 ≤ t ≤ n) - the number of cities to be destroyed. In the second line print t integers — the numbers of the cities that will be destroyed. Please note that the city that will be mined should be displayed first.
Each city must be destroyed exactly once. If there are multiple solutions, print any one.