현상금 사냥꾼 정은

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

문제

현상금 사냥꾼 정은이는 범죄자를 쫓고 있다. 정은이는 우주선 갈치 II호를 타고 2차원 평면에 흩어져 있는 행성 NN개를 모두 방문한 다음 출발한 행성으로 돌아와야 한다. 출발 행성은 xx좌표가 가장 작은 행성이다. 정은이는 가난하지만 사치스러워서 비싼 소고기를 사 먹을 돈을 남기고 싶으므로, 전체 이동 거리를 최소로 줄이려고 한다.

게다가 정은이는 범죄조직 CTP를 쫓는 중이라 그들에게 들키지 않으려고 항로를 다음과 같이 제한한다. 출발 행성에서 xx좌표가 가장 큰 행성까지는 xx좌표가 증가하는 순서로만 이동하고, 거기서 출발 행성으로 돌아올 때는 xx좌표가 감소하는 순서로만 이동한다. 두 구간을 합치면 모든 행성을 정확히 한 번씩 방문한다. xx좌표가 가장 작은 행성과 가장 큰 행성은 두 구간이 함께 쓰는 반환점이고, 나머지 행성은 두 구간 중 정확히 한쪽에 속한다. N=2N = 2이면 항로는 왼쪽 행성에서 오른쪽 행성으로 갔다가 그대로 돌아오는 경로다.

두 행성 사이의 이동 거리는 유클리드 거리다. 조건을 만족하는 항로 중 전체 길이가 가장 짧은 값을 구하라.

입력

첫째 줄에 테스트 케이스의 수 TT (1T1001 \le T \le 100)가 주어진다.

각 테스트 케이스의 첫째 줄에 행성의 수 NN (2N5122 \le N \le 512)이 주어진다. 이어지는 NN개의 줄에 행성의 좌표 xxyy (0x,y50000 \le x, y \le 5000)가 공백으로 구분되어 주어진다.

모든 좌표는 정수다. 한 테스트 케이스 안에서 xx좌표는 서로 다르고, 행성은 xx좌표가 증가하는 순서로 주어진다.

출력

각 테스트 케이스마다 최단 항로의 길이를 한 줄에 출력한다.

길이는 소수점 아래 넷째 자리에서 반올림해, 소수점 아래 자리를 정확히 4개 채워서 출력한다. 값이 정수여도 400.0000처럼 0을 채워야 한다. 출력은 문자열 그대로 비교한다.