A cactus is a simple undirected connected graph in which every edge belongs to at most one simple cycle.
Now, there is a cactus accepting the following two operations:
Because the second operation is costly, it can only be used at most once. The first operation can be used any number of times in any order.
Find a sequence of operations such that, after all operations in the sequence, the final graph has the least possible number of edges.
The first line of input contains two integers n and m, the number of vertices and the number of edges in the initial graph (1≤n≤3⋅105, n−1≤m≤23(n−1)).
Each of the next m lines contains two integers u and v denoting the endpoints of an edge (1≤u,v≤n). The graph is connected and contains no parallel edges and no self-loops.
On the first line, print two integers m′ and K, the number of edges left in the final graph and the total number of operations.
Then print K more lines. Each line represents an operation:
1 x".2".If there are several optimal answers, print any one of them.