농장의 젖소가 건강하지 않다고 생각한 농부 존은 젖소를 위한 마라톤 대회를 열었다. 존이 가장 아끼는 젖소 베시도 이 대회에 참가한다.
마라톤 코스는 체크포인트 N개로 이루어져 있다. 1번 체크포인트에서 출발해 번호 순서대로 모든 체크포인트를 방문한 뒤 N번 체크포인트에서 끝나야 마라톤이 끝난다. 게으른 베시는 대회에 나가되 중간에 있는 체크포인트를 최대 K개까지 몰래 건너뛸 수 있다. 단, 1번 체크포인트와 N번 체크포인트를 건너뛰면 너무 눈치가 보이니 이 두 체크포인트는 건너뛰지 않을 생각이다.
베시가 체크포인트를 최대 K개 건너뛰면서 달린다면, 달려야 하는 최소 거리는 얼마일까?
대회는 도심 한복판에서 열리기 때문에 거리는 택시 거리(맨해튼 거리)로 계산한다. 즉 (x1,y1)과 (x2,y2) 사이의 거리는 ∣x1−x2∣+∣y1−y2∣다. (∣x∣는 절댓값 기호다.)
첫째 줄에 체크포인트의 수 N과 건너뛸 수 있는 체크포인트의 수 K가 주어진다. (3≤N≤500, 0≤K<N)
이후 N개의 줄에 정수가 두 개씩 주어진다. i번째 줄의 첫 번째 정수는 체크포인트 i의 x 좌표, 두 번째 정수는 y 좌표다. (−1000≤x≤1000, −1000≤y≤1000)
서로 다른 체크포인트의 좌표는 겹칠 수도 있다. 베시가 체크포인트 하나를 건너뛸 때는 그 번호의 체크포인트만 건너뛰며, 같은 좌표에 있는 다른 체크포인트까지 건너뛰지는 않는다.
베시가 체크포인트를 최대 K개 건너뛰고 달릴 수 있는 최소 거리를 출력한다.
첫 번째 예제에서 베시가 2번과 4번 체크포인트를 건너뛰면 경로는 (0,0), (1,1), (2,2) 순서가 되어 거리가 4다. 이보다 짧게 달릴 수는 없다.