2241: 惊险道路

Memory Limit:256 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

飞飞做了一个梦,梦里他遇到了惊险道路,道路和道路相连的地方是结点。这些道路中的某些道路在某些时刻会变得危险重重、刀光剑影,完全不可走。但是这种情况只会持续1分钟,过了这1分钟,可能就变成了坦途,可以通行了。这些道路的不可走性是周期的。假设该周期是k,道路s在第1分钟不可走,然后在第k+1分钟也是不可走的,依次类推。 

道路和道路交叉的点可以有地方隐藏,飞飞面对某条道路时,可以选择走或隐藏。飞飞有神奇的能力,每次都是花费恰好1分钟的时间走完一条道路。 

梦里有n个结点,m条道路,飞飞站在1号结点上,他要去n号结点。飞飞被这梦折磨的精疲力尽,但是醒来后发现这是个好问题,值得研究。他邀请你来试试,求出从1号点到n号点的最短时间,如果无法到达,则输出无解。

Input

从文件"dangerpath.in"读入数据。 

第一行两个正整数n和m。 

后面接着有m行,每行两个数据a和b,代表一条道路连接的两个结点,可能会有重复的道路描述。 

接着是一个整数k,表示循环周期。

再接着是k组数据,每组数据有若干行,每行表示在该分钟该条道路不可走,每组数据最后以 0 0 结束。

Output

输出到文件"dangerpath.out"。 

如果能到达n号结点,则输出最短时间。如果到达不了,则输出”No solution.”。注意:不带双引号。

Sample Input Copy

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

Sample Output Copy

3

HINT

样例解释 

周期为3。 

每周期的第1分钟不可走的边是:(1,2) 

每周期的第2分钟不可走的边是:(1,3)、(3,4)、(2,3) 

每周期的第3分钟不可走的边是:(2,4) 

 起点在结点1,第1分钟可以走(1,3)边到达3号结点,(1,2)边此时不可走;

第2分钟,在3号点哪条边都不能走,躲藏1分钟;

第3分钟,由3号点直接到4号点。

最短时间3分钟。 

数据范围与提示 

有阶梯数据。 

对于全部数据,n属于[1, 100],m属于[1, 500],k属于[0, 10]。