소 확인 목록

홀스타인은 번호 순서대로, 건지는 번호 순서대로 모두 방문하되 홀스타인 1에서 시작해 홀스타인 H에서 끝나는 최소 에너지 경로를 구한다.

보통6동적 계획법기하면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

농부 존은 매일 목장을 돌며 소의 상태를 확인한다. 목장에는 홀스타인과 건지, 두 품종이 있다. 홀스타인 HH마리에는 1부터 HH까지, 건지 GG마리에는 1부터 GG까지 번호가 붙어 있다 (1H10001 \le H \le 1000, 1G10001 \le G \le 1000). 각 소는 2차원 평면의 한 점에 있고, 서로 다른 소가 같은 점에 있어도 된다.

존은 홀스타인 1번에서 출발해 홀스타인 HH번에서 순회를 마친다. 그 사이에 모든 소를 정확히 한 번씩 방문하고, 확인 목록을 채우기 쉽도록 같은 품종은 번호가 작은 순서대로 방문한다. 즉 존이 방문한 H+GH+G마리의 나열에서 홀스타인 1번부터 HH번이 연속하지 않아도 되는 부분 수열로 나타나고, 건지도 똑같이 나타난다. 다르게 말하면 전체 방문 순서는 홀스타인 목록과 건지 목록을 하나로 섞어 놓은 나열이다.

한 소에서 다른 소로 거리 DD만큼 이동하면 에너지를 D2D^2만큼 쓴다. 위 조건을 지키는 순회 가운데 필요한 에너지가 가장 적은 값을 구하라.

입력

첫 줄에 HHGG가 공백으로 구분되어 주어진다.

다음 HH개 줄에는 홀스타인의 xx 좌표와 yy 좌표가 번호 순서대로 주어지고, 그 뒤 GG개 줄에는 건지의 좌표가 번호 순서대로 주어진다. 모든 좌표는 0 이상 1000 이하의 정수다. 조건을 만족하는 순회가 적어도 하나 존재하는 입력만 주어진다.

출력

모든 소를 방문하는 데 필요한 에너지의 최솟값을 한 줄에 출력한다. 에너지의 합은 항상 정수다.