#P1706E. Qpwoeirut and Vertices

    ID: 934 Type: RemoteJudge 2000ms 256MiB Tried: 0 Accepted: 0 Difficulty: 8 Uploaded By: Tags>binary searchdata structuresdfs and similardivide and conquerdsugreedytrees*2300

Qpwoeirut and Vertices

Description

You are given a connected undirected graph with nn vertices and mm edges. Vertices of the graph are numbered by integers from 11 to nn and edges of the graph are numbered by integers from 11 to mm.

Your task is to answer qq queries, each consisting of two integers ll and rr. The answer to each query is the smallest non-negative integer kk such that the following condition holds:

  • For all pairs of integers (a,b)(a, b) such that labrl\le a\le b\le r, vertices aa and bb are reachable from one another using only the first kk edges (that is, edges 1,2,,k1, 2, \ldots, k).

The first line contains a single integer tt (1t10001\le t\le 1000) — the number of test cases.

The first line of each test case contains three integers nn, mm, and qq (2n1052\le n\le 10^5, 1m,q21051\le m, q\le 2\cdot 10^5) — the number of vertices, edges, and queries respectively.

Each of the next mm lines contains two integers uiu_i and viv_i (1ui,vin1\le u_i, v_i\le n) — ends of the ii-th edge.

It is guaranteed that the graph is connected and there are no multiple edges or self-loops.

Each of the next qq lines contains two integers ll and rr (1lrn1\le l\le r\le n) — descriptions of the queries.

It is guaranteed that that the sum of nn over all test cases does not exceed 10510^5, the sum of mm over all test cases does not exceed 21052\cdot 10^5, and the sum of qq over all test cases does not exceed 21052\cdot 10^5.

For each test case, print qq integers — the answers to the queries.

Input

The first line contains a single integer tt (1t10001\le t\le 1000) — the number of test cases.

The first line of each test case contains three integers nn, mm, and qq (2n1052\le n\le 10^5, 1m,q21051\le m, q\le 2\cdot 10^5) — the number of vertices, edges, and queries respectively.

Each of the next mm lines contains two integers uiu_i and viv_i (1ui,vin1\le u_i, v_i\le n) — ends of the ii-th edge.

It is guaranteed that the graph is connected and there are no multiple edges or self-loops.

Each of the next qq lines contains two integers ll and rr (1lrn1\le l\le r\le n) — descriptions of the queries.

It is guaranteed that that the sum of nn over all test cases does not exceed 10510^5, the sum of mm over all test cases does not exceed 21052\cdot 10^5, and the sum of qq over all test cases does not exceed 21052\cdot 10^5.

Output

For each test case, print qq integers — the answers to the queries.

Sample Input 1

3
2 1 2
1 2
1 1
1 2
5 5 5
1 2
1 3
2 4
3 4
3 5
1 4
3 4
2 2
2 5
3 5
3 2 1
1 3
2 3
1 3

Sample Output 1

0 1 
3 3 0 5 5 
2

Note

Graph from the first test case. The integer near the edge is its number.

In the first test case, the graph contains 22 vertices and a single edge connecting vertices 11 and 22.

In the first query, l=1l=1 and r=1r=1. It is possible to reach any vertex from itself, so the answer to this query is 00.

In the second query, l=1l=1 and r=2r=2. Vertices 11 and 22 are reachable from one another using only the first edge, through the path 121 \longleftrightarrow 2. It is impossible to reach vertex 22 from vertex 11 using only the first 00 edges. So, the answer to this query is 11.

Graph from the second test case. The integer near the edge is its number.

In the second test case, the graph contains 55 vertices and 55 edges.

In the first query, l=1l=1 and r=4r=4. It is enough to use the first 33 edges to satisfy the condition from the statement:

  • Vertices 11 and 22 are reachable from one another through the path 121 \longleftrightarrow 2 (edge 11).
  • Vertices 11 and 33 are reachable from one another through the path 131 \longleftrightarrow 3 (edge 22).
  • Vertices 11 and 44 are reachable from one another through the path 1241 \longleftrightarrow 2 \longleftrightarrow 4 (edges 11 and 33).
  • Vertices 22 and 33 are reachable from one another through the path 2132 \longleftrightarrow 1 \longleftrightarrow 3 (edges 11 and 22).
  • Vertices 22 and 44 are reachable from one another through the path 242 \longleftrightarrow 4 (edge 33).
  • Vertices 33 and 44 are reachable from one another through the path 31243 \longleftrightarrow 1 \longleftrightarrow 2 \longleftrightarrow 4 (edges 22, 11, and 33).

If we use less than 33 of the first edges, then the condition won't be satisfied. For example, it is impossible to reach vertex 44 from vertex 11 using only the first 22 edges. So, the answer to this query is 33.

In the second query, l=3l=3 and r=4r=4. Vertices 33 and 44 are reachable from one another through the path 31243 \longleftrightarrow 1 \longleftrightarrow 2 \longleftrightarrow 4 (edges 22, 11, and 33). If we use any fewer of the first edges, nodes 33 and 44 will not be reachable from one another.