UCBINTH - Hypertubes
In a galaxy far, far away, the fastest method of transportation is using hypertubes. Each hypertube directly connects K stations with each other. What is the minimum number of stations that we need to pass through in order to get from station 1 to station N?
Input
The first line of input contains three positive integers: N (1 ≤ N ≤ 100 000), the number of stations, K (1 ≤ K ≤ 1 000), the number of stations that any single hypertube directly interconnects, and M (1 ≤ M ≤ 1 000), the number of hypertubes.
Each of the following M lines contains the description of a single hypertube: K positive integers, the labels of stations connected to that hypertube.
Output
The first and only line of output must contain the required minimum number of stations. If it isn't possible to travel from station 1 to station N, output -1.
Example
Input: 9 3 5 1 2 3 1 4 5 3 6 7 5 6 7 6 8 9 Output: 4
Input: 15 8 4 11 12 8 14 13 6 10 7 1 5 8 12 13 6 2 4 10 15 4 5 9 8 14 12 11 12 14 3 5 6 1 13 Output: 3
Clarification of the first example: It is possible to travel from station 1 to station 9 using only four stations in the following ways: 1-3-6-9, or 1-5-6-9.
Added by: | Gabriel Menacho |
Date: | 2014-09-10 |
Time limit: | 1s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: ASM64 |
Resource: | http://coj.uci.cu/24h/problem.xhtml?abb=2751&lang=es |