정부는 마을들 사이에 서로 교류할 수 있는 쌍둥이 마을 관계를 정하려고 한다.
가능한 한 많은 두 마을 쌍을 관계로 만들되, 다음 조건을 모두 만족해야 한다.
- 각 마을은 최대 P개의 다른 마을과만 쌍둥이 마을 관계를 맺을 수 있다. 관계가 하나도 없어도 된다.
- 관계로 선택된 두 마을 사이의 거리는 적어도 D이어야 한다. 두 마을의 위치가 (x1, y1), (x2, y2)일 때 두 마을 사이의 거리는 |x1-x2| + |y1-y2|이다.
조건을 만족하면서 만들 수 있는 쌍둥이 마을 관계의 개수를 최대화하라. 최대 개수를 만드는 방법이 여러 가지라면, 선택된 관계들의 거리 합이 최소인 방법을 선택한다.
각 마을의 위치와 P, D가 주어질 때, 만들 수 있는 관계의 최대 개수와 그때의 최소 거리 합을 구하는 프로그램을 작성하시오.