2128 - 2种交通方式
Description

有个地方有一些城镇,城镇与城镇间有铁路或公路相连,如果有铁路相连,就不会有公路相连,没有铁路连接的城镇就会有公路相连。

给你 n 个城镇, m 条铁路线,问同时从城镇1出发,分别坐火车和坐汽车到达城镇n,求两者都到达的时候最少的用时。

其中火车和汽车不能同时到达中间点。

Input

第一行两个整数 nm  

表示城镇的数量和铁路的数量。

接下来 m 行每行两个整数 uv ,表示城镇 uv 有铁路相连。


Output

一个整数,表示两种交通工具都到达终点的最少用时,如果 其中有一种交通工具不能到达或都不能到达终点 ,输出 -1

相邻两地乘火车或汽车的用时都是1


Examples

Input

4 2
1 3
3 4

Output

2

Input

4 6
1 2
1 3
1 4
2 3
2 4
3 4

Output

-1

Input

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

Output

3
Hint

n\leq 400 

(0<=m<=n×(n-1)/2 

题目参数
Time Limit 1 second
Memory Limit 128 MB
提交次数 14
通过次数 7