Points:
1900 (p)
Time limit:
1.0s
Memory limit:
512M
Input:
stdin
Output:
stdout
There are \(n\) cities in Byteland but no roads between them. However, each day, a new road will be built. There will be a total of \(m\) roads.
Your task is to process \(q\) queries of the form: "after how many days can we travel from city \(a\) to city \(b\) for the first time?"
Input
- The first input line has three integers \(n\), \(m\) and \(q\): the number of cities, roads and queries. The cities are numbered \(1,2,\ldots,n\).
- After this, there are \(m\) lines that describe the roads in the order they are built. Each line has two integers \(a\) and \(b\): there will be a road between cities \(a\) and \(b\).
- Finally, there are \(q\) lines that describe the queries. Each line has two integers \(a\) and \(b\): we want to travel from city \(a\) to city \(b\).
Output
- For each query, print the number of days, or \(−1\) if it is never possible.
Constraints
- \(1 \ \leq \ n , m , q \ \leq \ 2 * 10^5\)
- $1 \ \leq \ a, b \ \leq \ n $
Example
Sample input
5 4 3
1 2
2 3
1 3
2 5
1 3
3 4
3 5
Sample output
2
-1
4
Comments