게임

NYPC 2021 · 본선

배찌와 다오는 팀을 이뤄 게임을 하려고 한다. 각 팀에는 NN 명의 선수가 있다. 각 팀의 선수들은 11 번부터 NN 번까지 번호가 붙어 있다. 또, 각 선수의 실력을 양의 정수 값으로 표현할 수 있다.

게임을 위해서 각 팀에서는 번호가 연속한 KK 명의 선수들을 선발한다. 게임을 시작할 때 배찌의 팀에서 선발한 선수 중 번호가 가장 작은 선수와 다오의 팀에서 선발한 선수 중 번호가 가장 작은 선수를 교환한다. 각 팀에서 선발된 선수들의 실력은 선수들을 교환한 후 선수들의 실력 값의 합이다.

예를 들어, 배찌의 팀에서 번호 순서대로 실력이 3,5,63, 5, 6인 선수들을 선발하고 다오의 팀에서 번호 순서대로 실력이 9,7,89, 7, 8인 선수들을 선발했다면, 선발된 선수를 교환한 후 두 팀에서 선발한 선수들의 실력은 각각 9+5+6=209 + 5 + 6 = 203+7+8=183 + 7 + 8 = 18이 된다. 이 경우 실력 차이의 절댓값은 22이다.

두 팀 선수들의 실력 값을 입력으로 받아 선수들을 선발해서 게임을 하는 방법 중 실력 차이의 절댓값이 가장 작은 경우를 찾는 프로그램을 작성하라.

입력 형식

첫 줄에 각 팀 선수들의 수를 나타내는 정수 NN과 선발하는 선수의 수를 나타내는 정수 KK가 공백으로 구분되어 주어진다. (1N5000001 \le N \le 500\, 000; 1KN1 \le K \le N)

두 번째 줄에 배찌 팀 선수들의 실력을 나타내는 NN 개의 정수가 번호 순서대로 공백으로 구분되어 주어진다.

세 번째 줄에 다오 팀 선수들의 실력을 나타내는 NN 개의 정수가 번호 순서대로 공백으로 구분되어 주어진다.

모든 실력 값은 11 이상 10910^9 이하이다.

출력 형식

첫 줄에 실력 차이의 절댓값의 가능한 최솟값을 출력한다.

예제

입력

4 3 2 3 5 6 9 7 8 6

출력

0

채점 방식

입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞추어야 그 종류에 배정된 점수를 받을 수 있다.

종류 1: 23

N500N \le 500

종류 2: 34

N8000N \le 8\, 000

종류 3: 43

추가적인 제한 조건이 없음.

해설