대피소
문제
차원 평면의 KOI 마을에 개의 집이 있다. 각 번째 집의 위치는 이다.
번째 집과 번째 집 사이의 거리는 이다. 즉, 두 집 사이의 거리는 의 차이와 의 차이의 합이다. 예를 들어, 에 위치한 집과 에 위치한 집은 인 만큼 떨어져 있다.
KOI 마을은 재난 발생 시 주민들이 안전하게 대피할 수 있도록 개의 집에 대피소를 설치할 계획이다. 모 든 주민의 안전을 고려하여, 집에서 가장 가까운 대피소로 이동할 때 가장 긴 거리가 최소가 되도록 대피소를 설치할 개의 집을 선택하고, 그때 대피소와 가장 멀리 떨어진 집과의 거리를 구하려고 한다.
아래는 개의 집이 각각 , , , , 에 위치한 마을의 예이다.
이 마을에 개의 대피소를 설치하려고 한다. 만약 과 에 위치한 집에 대피소를 설치한다면 설치하지 않은 나머지 세 집에서 가까운 대피소까지의 거리가 각각 , , 이고, 이 중 가장 먼 거리는 이다.
하지만 와 에 위치한 집에 대피소를 설치하면 가장 가까운 대피소와 가장 멀리 떨어져 있는 집은 에 위치한 집으로, 와 만큼 떨어져 있다. 대피소를 어떻게 설치해도 최대 거리가 보다 작아지는 경우가 없으므로 가 구하고자 하는 거리가 된다.
KOI 마을의 집들의 위치와 설치할 대피소의 개수가 주어질 때, 대피소를 설치하는 모든 방법 중 가장 가까운 대피소와 집 사이의 거리 중 가장 큰 값이 가장 작을 때의 거리를 구해라.
입력
첫 번째 줄에 과 가 공백을 사이에 두고 주어진다.
다음 개의 줄에는 집의 위치가 주어지는데, 이 중 (1 ≤ i ≤ N)번째 줄에는 와 가 공백을 사이에 두고 주어진다.
출력
첫 번째 줄에 답을 출력한다.
예제
예제 1
5 2 1 5 3 0 3 3 6 12 8 9
5
예제 2
4 2 0 0 0 5 5 0 5 5
5
예제 3
4 1 1 0 2 0 3 0 4 0
2
예제 4
2 1 20 23 5 14
24