시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
N개의 필드가 원형으로 배치된 게임판이 있다. 필드에는 시계 방향으로 1부터 N까지 번호가 매겨져 있다. 일부 필드에는 장애물이 놓여 있다.
아람이는 1번 필드에서 출발하여 Z번 필드에 도착하는 것이 목표이다. 한 번 이동할 때마다 항상 시계 방향으로 정확히 K칸씩 움직이며, K는 게임이 시작되기 전에 하나로 정해진다. (N번 필드 다음은 다시 1번 필드로 이어진다.)
출발점 1번 필드를 제외하고, 도착점 Z번 필드에 이르기까지 지나는 모든 필드에는 장애물이 없어야 한다.
예를 들어 N=13, K=3, Z=9라면 아람이는 1 → 4 → 7 → 10 → 13 → 3 → 6 → 9 순서로 필드를 지난다. 이 경로에 놓인 필드 중 하나라도 장애물이 있으면 그 K로는 도착할 수 없다.
게임판 정보가 주어질 때, 1번 필드에서 출발하여 Z번 필드에 도착할 수 있는 가장 작은 K를 구하는 프로그램을 작성하시오.
첫째 줄에 필드의 수 N(2 ≤ N ≤ 1000), 도착해야 하는 필드 번호 Z(2 ≤ Z ≤ N), 장애물의 수 M(0 ≤ M ≤ N-2)이 공백으로 구분되어 주어진다.
둘째 줄에 장애물이 놓인 필드의 번호 M개가 서로 다른 정수로 주어진다. (M=0이면 이 줄은 비어 있다.)
1번 필드와 Z번 필드에는 장애물이 놓이지 않는다.
1번 필드에서 출발하여 Z번 필드에 도착할 수 있는 가장 작은 K를 한 줄에 출력한다.