페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#2725

복불복 1s 64MB

문제

1박 2일을 촬영하는 중 복불복을 하기 위해 커다란 원형게임판을 만들었다. 

각 위치에는 각종 미션과 벌칙내용이 적혀있었다. 

그런데 종민이는 어떤 위치에 어떤 내용이 적혀있는지 알고 있으며 최대한 힘을 조절해서 목표위치를 선택하려고 한다.

 

종민이는 힘의 크기를 1로하여 시계방향으로 돌릴때 위치는 1이 더해지며, 반시계방향으로 돌리면 현재 위치에서 1만큼 빼지게 된다. 

이는 상대적인 위치라서 0 또는 음수가 될 수도 있다.

 

종민이가 n의 힘을 가지고 어떤 방향으로 돌리게 되면 게임판은 원래의 위치에 돌아오게 된다. 

즉, 게임판의  위치 p는 p+i*n과 같은 의미이다(i는 임의의 정수).

 

게임판의 현재의 위치와 종민이가 좋아하는 미션이 젹혀진 지점들이 주어질 때, 

그 지점들 중 한 위치로 이동시키기 위해 종민이가 조절해야 하는 힘의 크기는 얼마일까?


입력

첫 줄에 게임판 회전의 주기 n과 목표 지점의 개수 m이 주어진다. (n ≤ 231-1,m ≤ 50)

둘째 줄에 게임판의 현재 위치가 주어지고, 셋째 줄부터 목표 지점들의 위치가 주어진다. (-231 ≤ 목표지점의 위치 ≤ 231-1)


출력

종민이가 조절해야 하는 힘의 최소 크기를 출력한다.

시계방향일 경우 양수, 반시계방향일 경우 음수로 표시하며 최소의 크기란 절대값을 기준으로 한다.

만일 최소의 크기가 둘 이상일 경우 양수를 출력하도록 한다.


예제

10 6

0
-2 -3 4 5 6 9999999
-1
로그인해야 코드를 작성할 수 있어요.