#P1903F. Babysitting

    ID: 8824 Type: RemoteJudge 7000ms 256MiB Tried: 0 Accepted: 0 Difficulty: 9 Uploaded By: Tags>2-satbinary searchdata structuresgraphstrees*2500

Babysitting

No submission language available for this problem.

Description

Theofanis wants to play video games, however he should also take care of his sister. Since Theofanis is a CS major, he found a way to do both. He will install some cameras in his house in order to make sure his sister is okay.

His house is an undirected graph with nn nodes and mm edges. His sister likes to play at the edges of the graph, so he has to install a camera to at least one endpoint of every edge of the graph. Theofanis wants to find a vertex cover that maximizes the minimum difference between indices of the chosen nodes.

More formally, let a1,a2,,aka_1, a_2, \ldots, a_k be a vertex cover of the graph. Let the minimum difference between indices of the chosen nodes be the minimum aiaj\lvert a_i - a_j \rvert (where iji \neq j) out of the nodes that you chose. If k=1k = 1 then we assume that the minimum difference between indices of the chosen nodes is nn.

Can you find the maximum possible minimum difference between indices of the chosen nodes over all vertex covers?

The first line contains a single integer tt (1t1041 \le t \le 10^4) — the number of test cases.

The first line of each test case contains two integers nn and mm (1n105,1m21051 \le n \le 10^{5}, 1 \le m \le 2 \cdot 10^{5}) — the number of nodes and the number of edges.

The ii-th of the following mm lines in the test case contains two positive integers uiu_i and viv_i (1ui,vin1 \le u_i,v_i \le n), meaning that there exists an edge between them in the graph.

It is guaranteed that the sum of nn over all test cases does not exceed 10510^{5}.

It is guaranteed that the sum of mm over all test cases does not exceed 21052 \cdot 10^{5}.

For each test case, print the maximum minimum difference between indices of the chosen nodes over all vertex covers.

Input

The first line contains a single integer tt (1t1041 \le t \le 10^4) — the number of test cases.

The first line of each test case contains two integers nn and mm (1n105,1m21051 \le n \le 10^{5}, 1 \le m \le 2 \cdot 10^{5}) — the number of nodes and the number of edges.

The ii-th of the following mm lines in the test case contains two positive integers uiu_i and viv_i (1ui,vin1 \le u_i,v_i \le n), meaning that there exists an edge between them in the graph.

It is guaranteed that the sum of nn over all test cases does not exceed 10510^{5}.

It is guaranteed that the sum of mm over all test cases does not exceed 21052 \cdot 10^{5}.

Output

For each test case, print the maximum minimum difference between indices of the chosen nodes over all vertex covers.

Sample Input 1

3
7 6
1 2
1 3
1 4
1 6
2 3
5 7
3 3
1 2
1 3
1 1
2 4
1 2
1 2
2 1
1 1

Sample Output 1

2
3
2

Note

In the first test case, we can install cameras at nodes 11, 33, and 77, so the answer is 22.

In the second test case, we can install only one camera at node 11, so the answer is 33.