#241. 整除游走
整除游走
整除游走
有 个点,编号为 。第 个点有一个正整数权值 。
对于两个不同的点 和 ,当且仅当 能整除 ,并且商 是质数时,存在一条从点 指向点 的有向边。每条边的长度均为 。
请你求出从点 到点 的最短路径长度。如果无法到达,输出 。
注意,两个不同点的权值可以相同。若 且 ,则商为 ,不是质数,因此这两个点之间不会因为权值相同而连边。
输入格式
第一行包含四个整数 ,分别表示点数、权值上界、起点编号和终点编号。
第二行包含 个整数 ,表示每个点的权值。
输出格式
输出一个整数,表示从点 到点 的最短路径长度;若无法到达,输出 。
样例 1
输入
7 60 1 7
2 4 6 12 20 30 60
输出
3
样例 2
输入
2 7 1 2
7 7
输出
-1
样例 3
输入
4 10 3 3
2 3 6 10
输出
0
数据范围
对于所有测试数据,保证:
- ;
- ;
- ;
- 。