Problem hidden

EC_P - Critical Edges

This time I will not bore you with a long and boring sentence. Give a connected graph, you must find all the edges that are critical, in other words you must find the edges which when removed divide the graph.

Input

The first line contains a integer NC (1 ≤ NC ≤ 200), the number of test cases. Then follow NC test cases.

Each case begins with two integers N (1 ≤ N ≤ 700) and M (N-1 ≤ M ≤ N * (N-1) / 2), the number of nodes and the number of edges respectively. Then follow M lines, each with a pair of integers a b (1 ≤ a, b ≤ N) indicate that between the node a and the node b there is a edge.

Output

For each test case print the list of ways to protect the following format:

    Caso #n
    t
    x1 y2
    x2 y2
    ...
    xt yt

Where n is the case number (starting from 1), t is the total of critical edges, list elements xi  yi indicates, for each line, there is a critical edge between the node xi and node yi (1 ≤ xi i ≤ N). In addition, the list should be sorted in non-decreasing order first by xi and then by yi. Also xi < yi must hold.

If there isn't any critical edge print: "Sin bloqueos" (quotes for clarity).

Example

Input:
3
5 4
1 2
4 2
2 3
4 5
5 5
1 2
1 3
3 2
3 4
5 4
4 6
1 3
1 4
2 1
3 2
4 2
4 3

Output:
Caso #1
4
1 2
2 3
2 4
4 5
Caso #2
2
3 4
4 5
Caso #3
Sin bloqueos

Adicionado por:Eddy Cael
Data:2013-10-31
Tempo limite:0.100s
Tamanho do fonte:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Linguagem permitida:C-CLANG C NCSHARP C++ 4.3.2 CPP CPP14 CPP14-CLANG JAVA JULIA PYTHON PYPY3 PYTHON3
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.