题目描述
学姐正在一个偌大的迷宫中散步,共有 $n$ 个节点,每个节点有一个权值 $w_i$,她现在正在起点,标号为 $u$,她想要去到终点,标号为 $v$。学姐可以从她当前所在的节点 $i$ 花一步的代价走到节点 $j$ 当且仅当 $\gcd(w_i,w_j)\neq 1$。学姐想知道她从起点出发,到达终点,最少会经过多少个节点(包括起点和终点),并且输出方案,如果找不到,则输出 `-1`。
输入格式
第一行一个正整数 $n(1\leqslant n\leqslant 10^5)$,第二行 $n$ 个正整数 $w_1,w_2,\cdots,w_n(1\leqslant w_i\leqslant 10^6)$,第三行两个正整数 $u,v(1\leqslant u,v\leqslant n,u\neq v)$。
输出格式
输出一个正整数 $x$,表示最少会经过多少个节点,如果可以找到,并且在第二行输出 $x$ 个正整数,$u=a_1,a_2,\cdots,a_x=v$,表示学姐的可行路径;否则,只输出一行,一个 `-1`。
样例输入 #1
7
2 14 9 6 8 15 11
5 6
样例输入 #2
7
2 14 9 6 8 15 11
5 7
样例输入 #3
7
2 14 9 6 8 15 11
5 5