배달

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

한 게살죽 전문점이 이웃을 돕기 위해 두 종류의 배달을 함께 운영한다. 하나는 돈을 받고 배달하는 주문 배달이고, 다른 하나는 형편이 어려운 학생에게 무료로 전달하는 무상 급식이다.

가게에는 배달원이 단 한 명뿐이라서, 이 배달원이 주문 배달과 무상 급식을 모두 처리한다. 가게 사장은 배달 순서에 대해 선착순 원칙을 지킨다.

  • 주문 배달은 먼저 주문한 손님에게 먼저 배달해야 한다.
  • 무상 급식은 먼저 신청한 사람에게 먼저 배달해야 한다.
  • 단, 주문 배달 손님과 무상 급식 신청자 사이의 상대적인 순서는 자유롭게 섞어도 된다.

예를 들어 주문이 A,B,CA, B, C 순서로 들어오고 무상 급식 신청이 X,Y,ZX, Y, Z 순서로 들어왔다면, BB 는 반드시 AA 다음에, 그리고 CC 보다 앞서 배달해야 하지만, X,Y,ZX, Y, Z 와의 배달 순서는 상관이 없다.

배달원은 가게에서 출발하며, 가게의 위치는 (0,0)(0, 0) 이다. 모든 배달을 마치기 위해 배달원이 움직여야 하는 최단 이동 거리를 구하여라. 두 지점 사이의 이동 거리는 평면 위의 유클리드 거리(직선 거리)이며, 마지막 배달을 마친 뒤 가게로 돌아올 필요는 없다.

입력

입력은 표준 입력으로 주어진다.

첫 줄에 테스트 케이스의 개수 TT (1T201 \le T \le 20) 가 주어진다.

각 테스트 케이스의 첫 줄에는 주문 배달의 수 NN (1N201 \le N \le 20) 과 무상 급식 신청의 수 MM (1M201 \le M \le 20) 이 공백 하나를 사이에 두고 주어진다.

이어서 NN 개의 줄에 주문 배달지의 좌표가 주문 순서대로 한 줄에 하나씩 주어지고, 그다음 MM 개의 줄에 무상 급식지의 좌표가 신청 순서대로 한 줄에 하나씩 주어진다.

각 좌표는 두 정수 xx, yy (0x1000 \le x \le 100, 0y1000 \le y \le 100) 로 이루어지며, 공백 하나로 구분된다.

출력

각 테스트 케이스마다, 한 배달원이 두 종류의 배달을 모두 마치는 데 필요한 최단 이동 거리를 한 줄에 하나씩 출력한다.

값은 소수점 둘째 자리에서 반올림하여 소수점 첫째 자리까지 출력한다.