시간 제한
메모리 제한
직선 위에 여러 개의 소방 펌프와 여러 대의 소방차가 있다. 각 소방차는 물을 채우기 위해 펌프 하나와 호스로 연결되어야 한다. 펌프의 수는 소방차의 수보다 크거나 같다.

그림의 상황에서는 두 대의 소방차가 위치 27과 73에 있고, 세 개의 펌프가 위치 12, 50, 81에 있다.
한 펌프에는 한 소방차만 연결할 수 있다. 사용하는 호스의 길이는 연결된 펌프와 소방차 사이의 거리이다. 모든 소방차에 동시에 물을 채우려 하므로, 선택한 연결들의 호스 길이 합이 가능한 한 작아야 한다.
그림의 상황에서 첫 번째 소방차를 위치 12의 펌프에 연결하고, 두 번째 소방차를 위치 81의 펌프에 연결하면 호스 길이의 합은 15 + 8 = 23이다. 이 값이 가능한 최소 합이다.
펌프들의 위치와 소방차들의 위치가 주어질 때, 모든 소방차를 서로 다른 펌프에 연결하면서 호스 길이 합을 최소로 만드는 프로그램을 작성하시오.
첫째 줄에 펌프의 수 P와 소방차의 수 F가 주어진다.
1 <= P <= 100,0001 <= F <= 100,000P >= F둘째 줄에는 펌프들의 위치를 나타내는 서로 다른 P개의 양의 정수가 증가하는 순서로 주어진다.
셋째 줄에는 소방차들의 위치를 나타내는 서로 다른 F개의 양의 정수가 증가하는 순서로 주어진다.
펌프와 소방차가 같은 위치에 있을 수도 있다. 입력으로 주어지는 모든 위치는 1,000,000 이하이다.
사용하는 호스 길이의 최소 합을 출력한다. 정답은 2^31 - 1을 넘지 않는다.