시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
개구리가 1번부터 N번까지 일렬로 놓인 징검다리 위를 뛰어다닌다. 각 징검다리에는 자연수가 하나씩 적혀 있다. 개구리가 i번 징검다리에 서 있을 때, i에서 그 징검다리에 적힌 수의 양의 배수만큼 떨어진 징검다리로 점프할 수 있다. 왼쪽과 오른쪽 모두 가능하지만, 1번부터 N번 사이의 징검다리로만 이동할 수 있다.
개구리는 a번 징검다리에서 출발해 b번 징검다리에 도착하려고 한다. 도착하기 위해 필요한 최소 점프 횟수를 구하시오.
첫째 줄에 징검다리의 개수 N(1 ≤ N ≤ 10,000)이 주어진다.
둘째 줄에 각 징검다리에 적힌 N개의 자연수가 순서대로 주어진다. 각 수는 10,000 이하이다.
셋째 줄에 자연수 a와 b가 주어진다. 이는 개구리가 a번 징검다리에서 출발해 b번 징검다리로 가고 싶다는 뜻이다. a와 b는 모두 N 이하이다.
첫째 줄에 개구리가 a번 징검다리에서 b번 징검다리로 가기 위해 필요한 최소 점프 횟수를 출력한다.
갈 수 없다면 -1을 출력한다.
1번 징검다리에 1이 적혀 있다면, 1의 배수인 4만큼 떨어진 5번 징검다리로 한 번에 점프할 수 있다.